写在前面

要使用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目录,项目的目录结构如下:

java maven 如何运行jar java maven打包jar_java


查看target目录:

java maven 如何运行jar java maven打包jar_java_02


查看打包好的jar包,目录结构:

java maven 如何运行jar java maven打包jar_java_03


如果看到这样的目录结构,说明打包成功。

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环境变量:此电脑 >> 右键“属性”

java maven 如何运行jar java maven打包jar_java maven 如何运行jar_04


点击“高级系统设置”:

java maven 如何运行jar java maven打包jar_linux_05


点击“环境变量”:

java maven 如何运行jar java maven打包jar_linux_06


系统变量 >> 新建

变量名:MAVEN_HOME
变量值:自己本地Maven安装路径

路径检索到下面的程度即可:

java maven 如何运行jar java maven打包jar_maven_07


添加完成点击确认

java maven 如何运行jar java maven打包jar_linux_08


找到系统变量中的Path属性 >> 双击 >> 新建:

;%MAVEN_HOME%\bin;

java maven 如何运行jar java maven打包jar_经验分享_09


最后切记需要层层点击 >> 确定,很多人创建完就叉掉或取消了。

完成上面的Maven环境变量配置,就进入下面这步:
我将项目放到D:\IntelliJ_IDEA\workstation\sykjdsport目录下,你们随意。
用管理员身份打开命令提示符界面,进入上面的目录

cd D:
cd D:\IntelliJ_IDEA\workstation\sykjdsport

然后执行Maven命令:

mvn package

前面提到的mvn package打包流程:编译 >> 测试 >> 打包,这里就可以看到实际效果了。

java maven 如何运行jar java maven打包jar_maven_10


如此便打包成功。

2.4、查看打包结果

在项目根目录下生成了target目录

java maven 如何运行jar java maven打包jar_linux_11

查看target目录:

java maven 如何运行jar java maven打包jar_经验分享_12

查看war包的目录结构:

java maven 如何运行jar java maven打包jar_java_13


看到这样子的目录结构就说明打包成功。

运行

其实运行jar包和运行war包的命令都是一样,下面则直接演示。

为了方便演示,我把生成的jar包和war包统一放在目录:D:\IntelliJ_IDEA\workstation 下

java maven 如何运行jar java maven打包jar_linux_14


打开命令提示符界面,进入包所在的路径

cd D:\IntelliJ_IDEA\workstation

运行jar包:

java -jar 包名.jar

java maven 如何运行jar java maven打包jar_经验分享_15


输入Ctrl + C 可以终止运行

java maven 如何运行jar java maven打包jar_经验分享_16

再输入命令:

java -jar 包名.war

java maven 如何运行jar java maven打包jar_linux_17

至此,基本完成。

在Linux系统下运行jar或war包

进入到jar包所在目录。运行命令

java -jar 包名.jar

java maven 如何运行jar java maven打包jar_经验分享_18


但如果这个窗口关闭,这个服务就停止了,为了防止这种情况,我们需要设置其在后台运行。

命令:nohup java –jar 包名.jar > testout.log &

命令nohup:表示不挂断运行命令
符号">":表示将输出打印到后面的文件中
符号“&”:表示在后台运行

java maven 如何运行jar java maven打包jar_java maven 如何运行jar_19

运行war包也类似

命令:nohup java –jar 包名.war > testout.log &

命令nohup:表示不挂断运行命令
符号">":表示将输出打印到后面的文件中
符号“&”:表示在后台运行

java maven 如何运行jar java maven打包jar_java maven 如何运行jar_20

如果要杀死后台进程,下面的命令或许能帮到你
查看对应进程的命令:其中9221就是PID(进程ID)

ps -ef|grep 相关服务名称

杀死进程:

kill -9 进程PID

java maven 如何运行jar java maven打包jar_maven_21

至此结束,希望我们共同进步!