Eclipse中打包maven项目-war包方式

Posted 黄进广寒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eclipse中打包maven项目-war包方式相关的知识,希望对你有一定的参考价值。

IntelliJ IDEA打包成war(包括maven项目)点击打开链接

首先要在maven项目中的pom.XML中配置好需要的配置:

1 <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">  
2   <modelVersion>4.0.0</modelVersion>  
3   <groupId>com.abc.java</groupId>  
4   <artifactId>coressm</artifactId>  
5   <version>0.0.1-SNAPSHOT</version>  
6   <packaging>war</packaging>  
1 <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-war-plugin -->
2         <dependency>
3             <groupId>org.apache.maven.plugins</groupId>
4             <artifactId>maven-war-plugin</artifactId>
5             <version>3.0.0</version>
6         </dependency>

<!-- build #s --> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <!-- 对丢失web.xml检测机制进行忽略, Dynamic Web Module 3.0 工程时代不需要web.xml文件注册相关内容的,所以工程默认不生成web.xml。--> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <executions> <execution> <id>default-compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> </executions> <configuration> <!-- 使用jdk1.7时使用该配置,如果要使用jdk1.8,则下面2行要修改为1.8 --> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> <!-- build #e --> </project>


mvn命令打war包(包括源码jar包) 
pom.xml中如果没有指定打包类型,默认打包类型为jar 
1、确保pom.xml里面引入了: 

1 <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-war-plugin -->
2         <dependency>
3             <groupId>org.apache.maven.plugins</groupId>
4             <artifactId>maven-war-plugin</artifactId>
5             <version>3.0.0</version>
6         </dependency>

2、确保项目引入的是jdk,而不是jre; 
3、确保项目不报错的情况下,依次执行mvn clean--> mvn package; 
或者项目右击run -->mvn clean-->mvn build...-->Goals文本框处输入"package"; 
4、如果项目出现感叹号,很可能是build path里面的Maven Dependencies里面有出现missing的jar,可以找到jar对应的本地仓库的路径,将对应的版本号里面的.lastUpdated文件删除,都删除后,再项目右击-->maven -->Update Project. 

第一种:利用pom.xml文件打包。

右键pom.xml文件,选择Debug as或Run as 都行。但需要选择Maven install  打包

技术分享图片

 执行成功后,日志会打印出位置(看自己配置是否日志输出)。如果没有输出,在默认的C盘.m2文件夹中

技术分享图片

 

第二种方式:右键项目。选择Debug as 或 Run as 。但是这个时候要选择 Debug configurations技术分享图片

先Browse Workspace  选择需要打包的项目 ,然后在Goals:中输入clean install  命令  Debug执行后,会在target目录下生成打的war包

 

web项目时同时打包为war和jar文件 
1、首先添加在pom.xml中添加插件 maven-jar-plugin , 使得 在调用命令mvn package install 或者 mvn package deploy 先生成 jar包。或者使用mvn package生成jar包。该插件生成的架包会放在工程的target文件夹下。

2、然后配置maven-install-plugin 插件, 使得在eclipse中执行maven install时, 同时生成jar和war到本地仓库。

3、再配置org.apache.maven.plugins插件, 使得在eclipse中执行deploy 时, 同时,生成jar和war到远程仓库。

pom.XML配置:

 1 <!--  package jar on package -->
 2             <plugin>
 3                 <groupId>org.apache.maven.plugins</groupId>
 4                 <artifactId>maven-jar-plugin</artifactId>
 5                 <executions>
 6                     <execution>
 7                         <phase>compile</phase>
 8                         <goals>
 9                             <goal>jar</goal>
10                         </goals>
11                     </execution>
12                 </executions>
13             </plugin>
14             <!--  install jar to local repository -->
15             <plugin>
16                 <groupId>org.apache.maven.plugins</groupId>  
17                 <artifactId>maven-install-plugin</artifactId>
18                 <executions>
19                     <execution>
20                         <phase>install</phase>
21                         <goals>
22                             <goal>install-file</goal>
23                         </goals>
24                         <configuration>
25                             <packaging>jar</packaging>
26                             <artifactId>${project.artifactId}</artifactId>
27                             <groupId>${project.groupId}</groupId>
28                             <version>${project.version}</version>
29                             <file>
30                                 ${project.build.directory}/${project.artifactId}-${project.version}.jar
31                             </file>
32                         </configuration>
33                     </execution>
34                 </executions>
35             </plugin>
36             <!--  deploy jar to remote repository -->
37             <plugin>
38                 <groupId>org.apache.maven.plugins</groupId>
39                 <artifactId>maven-deploy-plugin</artifactId>
40                 <executions>
41                     <execution>
42                         <phase>deploy</phase>
43                         <goals>
44                             <goal>deploy-file</goal>
45                         </goals>
46                         <configuration>
47                             <packaging>jar</packaging>
48                             <generatePom>true</generatePom>
49                             <url>${project.distributionManagement.repository.url}</url>
50                             <artifactId>${project.artifactId}</artifactId>
51                             <groupId>${project.groupId}</groupId>
52                             <version>${project.version}</version>
53                             <file>${project.build.directory}/${project.artifactId}.jar</file>
54                         </configuration>
55                     </execution>
56                 </executions>
57             </plugin>

使用eclpise导出war

1.在需要打包的项目上右键>选择[Export] 
技术分享图片 
2.选中[Web]下面的[WAR file],点击[Next] 
技术分享图片 
3.通过[Browse]选择保存路径,点击[Finish]完成即可 
技术分享图片

使用maven导出war

1.通过eclipse方式:选择需要打包的项目右键选择[Run As]的[Maven install]即可。提示成功后会显示war包的生成路径,一般在项目的target目录下。 
技术分享图片 
技术分享图片
2.通过maven命令:控制台进入项目目录,执行mvn package命令即可。成功后会提示生成的war包路径。一般在项目的target目录下。 
技术分享图片 
注:pom.xml的<packaging/>配置为war打包后的就是war包,配置为jar时打包后的就是jar包。mvn package命令和mvn install命令都可以打包。我这里项目名称是tsj-spring,所以默认名称就是tsj-spring.war。


本文参考文章:
http://blog.csdn.net/xlxxcc/article/details/52623855
http://blog.csdn.net/big1989wmf/article/details/70144731
http://blog.csdn.net/u012586389/article/details/67635480


















以上是关于Eclipse中打包maven项目-war包方式的主要内容,如果未能解决你的问题,请参考以下文章

怎么将maven项目打包成war包

Maven项目打包成war包并启动war包运行

转载eclipse中maven项目部署到tomcat

eclipse中maven项目如何部署到tomcat

eclipse工具maven项目打包文件不是最新修改的

maven项目引用淘宝SDK的JAR包,打包成WAR包提示:程序包***不存在的解决方案