使用 Maven 插件可以非常方便地对 Java 工程进行打包。下面是使用 maven-assembly-plugin 对 Java 工程进行打包的攻略:
1. 添加 Maven 插件
在 pom.xml 文件中添加 maven-assembly-plugin 插件的依赖:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2. 配置 Maven 插件
在 pom.xml 文件中添加 Maven 插件的配置,指定要打包的文件和文件夹:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>package-jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
具体的配置说明如下:
- 指定打包方式为 "jar-with-dependencies"
- 指定主类为 com.example.Main
示例
下面是两个示例:
示例一
假设有以下的目录结构:
src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ └── Main.java
│ ├── resources/
│ └── webapp/
└── test/
├── java/
└── resources/
在使用 maven-assembly-plugin 打包时,可以配置如下的 pom.xml 文件:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>example-project</artifactId>
<version>1.0.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>package-jar-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>example-project</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
运行以下命令进行打包:
mvn clean package
打包后会在 target 目录下生成以下文件:
example-project-1.0.0-jar-with-dependencies.jar
示例二
假设有以下的目录结构:
src/
├── main/
│ ├── java/
│ │ └── com/
│ │ └── example/
│ │ ├── Main.java
│ │ └── utils/
│ │ └── StringUtils.java
│ └── resources/
└── test/
├── java/
└── resources/
在使用 maven-assembly-plugin 打包时,可以配置如下的 pom.xml 文件:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>example-project</artifactId>
<version>1.0.0</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>package-zip-with-dependencies</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>zip-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>example-project</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
运行以下命令进行打包:
mvn clean package
打包后会在 target 目录下生成以下文件:
example-project-1.0.0-dependency.zip
总之,在 pom.xml 文件中配置好 Maven 插件后,运行相应的 Maven 命令就能够进行打包了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用maven插件对java工程进行打包过程解析 - Python技术站