写在前面
要使用Maven打包项目,有两种方式,一种是利用开发工具(IDEA或Eclipse)来直接操作,另一种是在命令提示符界面使用Maven命令操作。
打包操作
1、使用开发工具(IntelliJ IDEA)打包
1.1、选择打包方式
首先需要明确自己的项目要打包的类型:jar或war
如果没有一些前端页面,建议打包成jar即可,如果包含web功能模块,就打包成war。
为此,我们需要在pom.xml文件中指定打包方式:
<groupId>com.wnkj</groupId>
<artifactId>sykjdsport</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
此处我选择打包成jar包。
1.2、添加构建插件
在pom.xml中添加下面插件:
如果不添加下面的配置,打包出来的项目要运行时,会报错:jar中没有主清单属性。即打包出来的文件和目录有残缺,没有按照SpringBoot的要求进行配置。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
1.3、打包
IDEA的右侧边栏有一个竖着写的 Maven,点击打开它:Maven >> 项目名称 Maven Webapp >> Lifecycle
首先单击clean,再点击上面的运行按钮执行命令,其实相当于执行了:mvn clean命令。(或直接右键clean >> Run Maven
Build) 然后单击package,操作同上即可打包成功。
- 注:package和install打包的区别:
– package命令:会执行 编译(mvn compile) >> 测试(mvn test) >> 打包(mvn package)等一系列操作,最后得到我们需要的包。
– install命令:会执行 编译(mvn compile) >> 测试(mvn test) >> 打包(mvn package) >> 安装(mvn install)操作。这个安装操作,就是会在你Maven本地仓库中安装打包好的这个包。
举例:我的项目在pom.xml是这样子的:com.zdrl,那么就会在我本地仓库中的com/zdrl/目录下存在打包好的这个包。
1.4、结果
打包成功之后会生成target目录,项目的目录结构如下:
查看target目录:
查看打包好的jar包,目录结构:
如果看到这样的目录结构,说明打包成功。
2、使用Maven命令打包
2.1、选择打包方式
同上,修改pom.xml中的配置,本次演示war包的打包方式:
<groupId>com.wnkj</groupId>
<artifactId>sykjdsport</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
2.2、添加构建插件
同上,在pom.xml中添加插件配置信息:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2.3、打包
为了更方便的使用Maven命令,建议配置Maven环境变量。如果已经配置,可以直接跳过。
配置Maven环境变量:此电脑 >> 右键“属性”
点击“高级系统设置”:
点击“环境变量”:
系统变量 >> 新建
变量名:MAVEN_HOME
变量值:自己本地Maven安装路径
路径检索到下面的程度即可:
添加完成点击确认
找到系统变量中的Path属性 >> 双击 >> 新建:
;%MAVEN_HOME%\bin;
最后切记需要层层点击 >> 确定,很多人创建完就叉掉或取消了。
完成上面的Maven环境变量配置,就进入下面这步:
我将项目放到D:\IntelliJ_IDEA\workstation\sykjdsport目录下,你们随意。
用管理员身份打开命令提示符界面,进入上面的目录
cd D:
cd D:\IntelliJ_IDEA\workstation\sykjdsport
然后执行Maven命令:
mvn package
前面提到的mvn package打包流程:编译 >> 测试 >> 打包,这里就可以看到实际效果了。
如此便打包成功。
2.4、查看打包结果
在项目根目录下生成了target目录
查看target目录:
查看war包的目录结构:
看到这样子的目录结构就说明打包成功。
运行
其实运行jar包和运行war包的命令都是一样,下面则直接演示。
为了方便演示,我把生成的jar包和war包统一放在目录:D:\IntelliJ_IDEA\workstation 下
打开命令提示符界面,进入包所在的路径
cd D:\IntelliJ_IDEA\workstation
运行jar包:
java -jar 包名.jar
输入Ctrl + C 可以终止运行
再输入命令:
java -jar 包名.war
至此,基本完成。
在Linux系统下运行jar或war包
进入到jar包所在目录。运行命令
java -jar 包名.jar
但如果这个窗口关闭,这个服务就停止了,为了防止这种情况,我们需要设置其在后台运行。
命令:nohup java –jar 包名.jar > testout.log &
命令nohup:表示不挂断运行命令
符号">":表示将输出打印到后面的文件中
符号“&”:表示在后台运行
运行war包也类似
命令:nohup java –jar 包名.war > testout.log &
命令nohup:表示不挂断运行命令
符号">":表示将输出打印到后面的文件中
符号“&”:表示在后台运行
如果要杀死后台进程,下面的命令或许能帮到你
查看对应进程的命令:其中9221就是PID(进程ID)
ps -ef|grep 相关服务名称
杀死进程:
kill -9 进程PID
至此结束,希望我们共同进步!