以下是在maven项目中同时打包为war和jar文件的方法的攻略:
1. 创建Maven Web项目
首先创建一个Maven Web项目,使用webapp的目录结构,结构如下:
└── src
├── main
│ ├── java
│ ├── resources
│ └── webapp
│ ├── WEB-INF
│ └── index.html
└── test
├── java
└── resources
在webapp目录下新建一个index.html文件。
2. 构建war和jar打包
在pom.xml文件中增加以下内容:
<build>
<plugins>
<!--war插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<id>war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
<warName>${project.artifactId}</warName>
</configuration>
</execution>
</executions>
</plugin>
<!--jar插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<finalName>${project.artifactId}</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
maven-war-plugin
插件用于生成 war 包,使用<phase>package</phase>
指定在打包时执行。maven-jar-plugin
插件用于生成 jar 包,使用<phase>package</phase>
指定在打包时执行。
在命令行中输入以下命令:
mvn clean package
3. 查看生成的包
在target目录下,会生成一个war文件和一个jar文件。
示例一
在pom.xml文件中增加以下内容:
<build>
<plugins>
<!--war插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<id>war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
<warName>${project.artifactId}</warName>
</configuration>
</execution>
</executions>
</plugin>
<!--jar插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<finalName>${project.artifactId}</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
执行命令:
mvn clean package
运行结果:
在target目录下,会生成一个war文件和一个jar文件。
示例二
在pom.xml文件中增加以下内容:
<build>
<plugins>
<!--war插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<id>war</id>
<phase>package</phase>
<goals>
<goal>war</goal>
</goals>
<configuration>
<warName>${project.artifactId}</warName>
</configuration>
</execution>
</executions>
</plugin>
<!--jar插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<finalName>${project.artifactId}</finalName>
</configuration>
</execution>
<execution>
<id>test-jar</id>
<phase>package</phase>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<classifier>test</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
执行命令:
mvn clean package
运行结果:
在target目录下,会生成一个war文件、一个jar文件和一个带有test分类的jar文件。
总结:
通过上述两个示例,我们可以发现,要同时打包为war和jar文件主要的关键步骤就是在pom.xml中配置maven-war-plugin
和maven-jar-plugin
插件,并且添加必要的配置,如executions
和finalName
等。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:maven打包web项目时同时打包为war和jar文件的方法 - Python技术站