将程序打成可执行jar包遇到的坑

2019-06-21  本文已影响0人  林太浪先生

Springboot打包成可执行jar包

需要在maven中添加这两个plugin

<plugin>

                <groupId>org.apache.maven.plugins</groupId>

                <artifactId>maven-compiler-plugin</artifactId>

                <version>3.1</version>

                <configuration>

                    <source>1.8</source>

                    <target>1.8</target>

                    <compilerArgs>

                        <!-- 过期的方法的警告-->

                        <arg>-Xlint:deprecation</arg>

                    </compilerArgs>

                    <compilerArguments>

                        <!-- 是否输出所有的编译信息(包括类的加载等)-->

                        <!--<verbose />-->

                        <!-- 解决maven命令编译报错,因为rt.jar 和jce.jar在jre的lib下面,不在jdk的lib下面,

                    导致maven找不到(java7以后会出现这个问题),将这2个jar包拷贝到jdk的lib下面估计也好使-->

                        <bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>

                    </compilerArguments>

                </configuration>

            </plugin>

            <plugin>

                <groupId>org.springframework.boot</groupId>

                <artifactId>spring-boot-maven-plugin</artifactId>

                <executions>

                    <execution>

                        <goals>

                            <goal>repackage</goal>

                        </goals>

                    </execution>

                </executions>

            </plugin>

然后用手动输入mvn package打包命令,即可生成在target里,最后需要注意里面是不是有确定了MAINFASET.MF文件,里面是否指定了启动类。

再就是通过idea的project structure,在里面手动的arfartifacts指定生成jar包,记得选择主程序入口,然后别忘了在里面添加日志文件,build之。

再观察里面的MAINFAST.MF是否有入口,没有就替换一下。最后java -jar xx.jar启动

上一篇下一篇

猜你喜欢

热点阅读