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/u012586389/article/details/67635480
以上是关于Eclipse中打包maven项目-war包方式的主要内容,如果未能解决你的问题,请参考以下文章