Maven多模块打包成war+vue打包
Maven多模块打包成war
示例
对于这样的工程,
1、需要将总的maven工程进行pom打包
<groupId>**</groupId>
<artifactId>**</artifactId>
<version>**</version>
<packaging>pom</packaging> //只加这一行
<name>**</name>
<description>**</description>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.nodecollege.cloud.UpmsApplication</mainClass> //修改为自己的Application
</configuration>
</plugin>
</plugins>
</build>
3、其它层进行jar打包
<packaging>jar</packaging>
如果这样直接打包的话会报错,因为springboot内置了tomcat服务器,此时我们还需要修改总的mavel配置文件:
4.1、移除嵌入式tomcat插件(加入标签的内容)
<dependencies>
<dependency>
<artifactId>spring-boot-starter-web</artifactId>
<groupId>org.springframework.boot</groupId>
<!-- 移除嵌入式tomcat插件 -->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
<!--<scope>provided</scope>-->
</dependency>
4.2、加入tomcat 支持
<!-- 加入tomcat支持-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
4.3、将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法
import javafx.application.Application;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
public class UpmsApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(UpmsApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(UpmsApplication.class, args);
}
}
5、打包
5.1、在总目录下打包:进入命令行,切换到总工作目录(总pom.xml文件的目录下),使用以下命令打包
mvn clean install -Dmaven.test.skip=true
5.2、在web层目录打包:切换到web层目录,执行以下命令打包
mvn clean package -Dmaven.test.skip=true
打包的war包都在web层的target文件下。复制粘贴到tomcat的webapps下启动就可以访问。
vue打包
1.在build文件里面找到webpack.prod.config.js
在output里面添加publicPath:’./’;
找到webpack.base.config.js
完成后对项目进行打包
完成以上两步就可以了
如果还有问题:
找到config文件里面的index.js
修改build里面的assetsPublicPath;
打包
npm run build
或 双击build