使用IDEA将SpringBoot项目打包成Jar包并部署到Linux服务器步骤及注意事项

一、将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目录下。

二、项目部署到Linux:

对于SpringBoot打成的jar,要在服务器上运行,只需要服务器有JDK即可,因为SpringBoot自带tomcat。

1、将文件上传到指定目录下

这里使用Xshell工具连接服务器

1> su root             --切换到root用户
2> cd /opt/energy      --切换到指定目录
3> ls                  --查看目录下文件
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中打包就可以正常打包了。

猜你喜欢

转载自blog.csdn.net/xiaobanv1/article/details/85163418