一、将SpringBoot项目打成Jar包:
1、首先要保证SpringBoot项目能正常启动
2、在项目的pom.xml文件中增加配置信息<bulid></build>,具体配置如下:
<groupId>com.bonc</groupId>
<artifactId>energy</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<!--finalName指定最终生成Jar包的名称,如果不指定,则为前面配置
artifactId+version(energy.0.0.1-SNAPSHOT.jar)作为jar包的名称-->
<finalName>energymanagement</finalName>
<!--配置资源-->
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>application*.properties</exclude>
<exclude>conf/dev/*</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/conf/${profileActive}</directory>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<!--在添加了该插件之后,当运行“mvn package”进行打包时,会打包成一个可以直接运
行的 JAR 文件,使用“java -jar”命令就可以直接运行。这在很大程度上简化了应用
的部署,只需要安装了 JRE 就可以运行。-->
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork> <!--热部署-->
</configuration>
</plugin>
</plugins>
</build>
3、进行打包:
打开IDEA的终端:Terminal(ALT+F12),然后输入打包命令:mvn clean package -Dmaven.test.skip=true
当出现BUILD SUCCESS 时,表示打包成功。Jar包会放到target目录下。
补充:通过IDEA工具进行打包参考:https://blog.csdn.net/sinat_33201781/article/details/80264828
二、项目部署到Linux:
对于SpringBoot打成的jar,要在服务器上运行,只需要服务器有JDK即可,因为SpringBoot自带tomcat。
1、将文件上传到指定目录下
这里使用Xshell工具连接服务器
1> su root --切换到root用户
2> cd /opt/energy --切换到指定目录
3> ls --查看目录下文件
4> netstat -tunlp|grep 8086 --查看指定端口的进程
5> ps -ef|grep java|grep -v grep --查看当前运行的进行信息
4> rz --打开文件系统上传Jar包
2、运行上传的项目
执行命令:nohup java -jar xxx.jar > output.log 2>&1&
打开日志查看项目是否正常启动: tail -2000f output.log
命令详解:
nohup:不挂断地运行命令,退出帐户之后继续运行相应的进程。
>output.log:是nohup把command的输出重定向到当前目录的指定的“output.log”文件中,即输出内容不打印到屏幕上,而是输出到”output.log”文件中。不指定文件名会在当前目录创建nohup.out,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
2>&1:2就是标准错误,1是标准输出,该命令相当于把标准错误重定向到标准输出么。这里&相当于标准错误等效于标准输出,即把标准错误和标准输出同时输出到指定的“output.log”文件中。
java -jar 自己的springboot项目.jar:执行springboot的项目,如果单单只执行该命令,linux只会短暂的运行该项目,当退出控制台后会自动关闭该项目。
最后的 &:让该进程在后台运行。
三、注意事项:
上传到服务器以后,使用IDEA重新打包的时候出现如下错误:
出现这个错误,通常是由于你已启动了另一个tomcat 进程,导致报错,关闭tomcat进程即可。启动“任务管理器”,强行停止java.exe 的进程。
问题来了,你发现把所有的 java.exe 都杀掉了,还是会报这个错误。这是因为你的Xshell也占用了(关联了)一个Tomcat进程。
只要把Xshell窗口关闭,再在IDEA中打包就可以正常打包了。
补充!:使用 mvn package -Dmaven.test.skip=true 就可以正常打包了,不需要杀进程!!
补充!:不使用命令打成Jar包:https://blog.csdn.net/sinat_33201781/article/details/80264828
补充!:常用打包命令:https://blog.csdn.net/xiaobanv1/article/details/88655247