eclipse 如何对maven项目进行打包?

CreateTime--2018年4月19日22:02:50

Author:Marydon

1.方式一:使用eclipse中的maven插件(命令)打包

  方法:利用pom.xml文件打包

  pom.xml内容示范:

eclipse 如何对maven项目进行打包?_maven


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>demo_WebService2</groupId>
<artifactId>demo_WebService2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<!-- https://mvnrepository.com/artifact/aopalliance/aopalliance -->
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Java编译插件版本 -->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
<!-- 跳过对测试代码的编译 -->
<!-- <skip>true</skip> -->
</configuration>
</plugin>
<!-- 跳过对测试类代码的执行 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
</project>

View Code

  打包前,target目录在eclipse下的展示

eclipse 如何对maven项目进行打包?_eclipse_02

  打包前,target目录在磁盘上的展示

eclipse 如何对maven项目进行打包?_apache_03

  具体操作:

  选中"pom.xml"-->右键-->Run As/Debugg As-->Maven install

eclipse 如何对maven项目进行打包?_eclipse_04

  不出意外的话,打包成功

eclipse 如何对maven项目进行打包?_apache_05

  打包后,target目录在eclipse下的展示

  选中target目录-->右键-->Refresh

eclipse 如何对maven项目进行打包?_apache_06

  

  打包后,target目录在磁盘上的展示

eclipse 如何对maven项目进行打包?_eclipse_07

  红框标出来的是,多出的文件夹    

  Maven install命令执行流程:

对src/main/java/下的Java文件进行编译-->对src/test/java/下的Java文件进行编译-->

在target目录下创建项目webapp:demo_WebService2-0.0.1-SNAPSHOT-->

并将target/classes和target/test-classes下的所有文件组装到target/demo_WebService2-0.0.1-SNAPSHOT/WEB-INF/classes下-->

将D:\WorkSpaces\eclipse2016\demo_WebService2\src\main\webapp目录下的除了classes文件夹和lib以外的所有文件拷贝到该目录下-->

将该目录打成war包。

  证实:

  为了证实猜想,所以在用maven打包之前我将WEB-INF/classes和lib文件加下的内容全部清空或者直接将这2个文件夹删掉。

eclipse 如何对maven项目进行打包?_后台开发工具_08

  这就证明了:

打包后的classes里的编译文件不是来自于WEB-INF/classes;

打包后的lib里的jar包不是来自于WEB-INF/lib,而是来自与pom.xml。

  

2.方式二:使用eclipse的export进行打包

  选中项目-->右键-->Export-->选择"WAR File"-->Next;

eclipse 如何对maven项目进行打包?_后台开发工具_09

  点击"Browse..."设置war保存位置-->取消勾选项"Optimize for a ..."-->Finish

eclipse 如何对maven项目进行打包?_apache_10

总结:

项目开发过程中,使用maven对项目打war包;

将项目进行正式部署时,使用eclipse的export对项目打war;

  使用maven打的jar包,并不一定是最新,当将项目发布到正式地址时,一定要记得重新打个war包。

作者:​​Marydon​​