如果是布署到linux 打包时的mysql配置记得要写linux的外网端口
服务器运行jar包的时候,最好加上 -Dfile.encoding=utf-8 -jar
要不然会乱码
(只适用不是mavn项目)
也可以写在一个bat文件里,直接双击运行,同一目录下
java -Dfile.encoding=utf-8 -jar 你的jar包名.jar
webStorm打包
cnpm run build
打包好了后会在本地里生成一个dist文件,就是打包好的东西
使用IDEA
如何对Java项目进行打包
- 首先先把项目编译一下
点击顶部工具栏 build -> build project
2. 打包项目
点击file 选择此项
按以下顺序选择打包方式
选择后会出现这个小窗口
注意:这里不选src会报Idea 打Jar包启动 没有主清单属性
(.\JavaTest.jar中没有主清单属性)
3. 打包
点击buiild选择
选完后会出现一个小窗,点击你刚才的jar包,选择build,成功后会出现out目录
把项目依赖的jar包和项目的jar包放在同一个目录即可使用
这样jar包就打好了,使用的时候只需要执行java -jar XXXX
即可
使用idea自带maven插件打包,在liunx服务器运行报错
No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.
;
再次打包出报错
错误:F:/InterlliJ IDEA/Demo/src/main/java/META-INF/MANIFEST.MF' already exists in VFS
解决办法:
出现这个提示的原因是之前在IDEA中对这个module打过jar包了,
所以module中会有一个MANIFEST.MF文件夹,
提示的错误即时这个文件夹及其中的文件已经存在,所以把这个文件夹删除掉,再重新build打包即可。
以上打包都 不行,可能因为是mavn项目的原因
如果是布署到linux 打包时的mysql配置记得要写linux的外网端口
而不能写127.0.0.1
打包的时候要小心,测试类里的方法会执行
在maven项目打包发布时,如果测试类中有我们的测试代码,那么在执行install命令的时候有可能会出错!因为打包的时候maven默认会将测试用例一起编译,编译不通过就报错!可以通过以下两种方法可以在发布的时候跳过测试类!
1.在pom.xml文件中添加如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
2.进入项目根目录,然后运行
mvn clean install -Dmaven.test.skip=true
大家知道spring boot都是用
main方法启动的,那么打成jar包,如何让它启动呢。
很简单,就是用spring-boot-plugin就行了
如下 :
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
然后直接运行maven命令:mvn clean,mvn install即可
双击右边也行,控制台输入命令也行
jar可以随便改名不影响程序运行