Java 的微服务打包时产生的 jar 包,在运行的时候会报找不到主类清单之类的错误,这里记录一下解决方法
1、首先在父工程的 pom 文件下的放入下面的代码,引入相关插件
<build>
<plugins>
<!-- <plugin>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-maven-plugin</artifactId>-->
<!-- </plugin>-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<!-- 打包跳过单元测试 -->
<configuration>
<skipTests>true</skipTests>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
复制代码
这里是不选择用 springboot 自带的打包插件,而是用了 Apache 的
2、然后再每一个微服务的 pom 文件下放入下面的代码,引入相关插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.example.authservice.AuthApplication</mainClass>
<goal>repackage</goal>
</configuration>
</plugin>
</plugins>
</build>
复制代码
这里必需要指定启动类的路径,每个模块设置对应的启动类路径,同时指定好打包方式为 jar
<packaging>jar</packaging>
复制代码
之后打开 maven 的面板,执行 package,在每个模块下的 target 目录里生成一个 jar 包
之后进入 cmd 终端命令窗口,执行 java -jar jar 包 命令即可运行起来
(中文乱码可先忽视)
评论