zoukankan      html  css  js  c++  java
  • springboot 多模块打war 部署

    先展示一下自己项目结构

    一共有5个模块

    依赖关系:下面的模块依赖上面所有的模块

    其中 rongke-web是我要部署的模块 最终要打war进行部署,其他模块均打jar 被rongke-web引用。

    开始打war前准备工作

    1、父pom.xml  移除spirngboot 自带的tomcat  导入外用tomcat依赖

    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除嵌入式tomcat插件 -->
    <exclusions>
    <exclusion>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
    </exclusions>
    </dependency>
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
    </dependency>
    第二步:
    在主模块 也就是rongke-web 中的pom.xml (不要在父pom.xml中)添加编译插件。
    一定带上主函数 也就是你启动的类 不然打war会报错找不到主类位置
    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
    <mainClass>com.rongke.application.Application</mainClass>
    </configuration>
    </plugin>
    </plugins>
    </build>

    第三步 使用命令行打包
    目录切至项目目录下

    打包命令
    mvn clean package -Dmaven.test.skip=true
    没有成功 报错
    第一个模块 编译失败。查了半天原因,网上原因各种各样。我的原因是我的父pom.xml中存在mavne编译插件
    <plugin>
    <groupId> org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
    <source>1.8</source>
    <target>1.8</target>
    <encoding>UTF-8</encoding>
    <fork>true</fork>
    </configuration>
    </plugin>
    注释掉这段代码后重新打包 有报错
    [ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK
    maven找不到我的jdk了
    于是网上搜索 基本上都是eclipse解决找不到jdk的版本 然而我用的是idea
    网上有建议在父pom.xml中配置maven插件 告诉maven jdk的位置 于是重新打开注释掉的代码
    <plugin>
    <groupId> org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
    <source>1.8</source>
    <target>1.8</target>
    <encoding>UTF-8</encoding>

    <executable>
                D:Javajdk1.8.0_131injavac.exe
    </executable>

    <fork>true</fork>
    </configuration>
    </plugin>
    然而再次执行 mvn -Dmaven.test.skip -U clean package 打war时再次出现第一次打包时候的错误 于是重新注释掉这段代码 
    更换方法
    于是重新配置jdk.  之前都配置jdk环境变量时候直接在path中添加D:Javajdk1.8.0_191in 
    现在改变配置方式,创建一个JAVA_HOME 配置变量值

    然后在path中添加

    于是重新 打包
    mvn -Dmaven.test.skip -U clean package 
    
    

    可以看到成功了
    
    
    
    
     







     

  • 相关阅读:
    微信小程序,地址助手
    Cordova 项目,升级 Xcode 从 10.3 到 11.0 扫坑日记
    MySQL 重启提示超出可打开文件数限制|Buffered warning: Changed limits: max_open_files: 1024
    “基于名称”的虚拟主机支持
    阿里云免费证书配置
    微信小程序开发常见问题
    webpack 打包压缩 ES6文件报错UglifyJs + Unexpected token punc «(», expected punc «:»
    本地不安装webpack,找不到webpack包
    Hdu1097(计算a的b次幂最后一位数值)
    计算某天是所在年的第几天
  • 原文地址:https://www.cnblogs.com/prettrywork/p/10770074.html
Copyright © 2011-2022 走看看