maven如何配置使打包后可以直接运行
时间: 2024-09-11 21:09:30 浏览: 28
Maven是Java的项目管理工具,它可以自动化构建流程,包括编译、测试、打包等。为了配置Maven打包后可以直接运行,通常需要使用Maven的插件来创建可执行的jar文件。这里以常用的maven-assembly-plugin插件为例进行说明:
1. 在项目的pom.xml文件中配置maven-assembly-plugin插件。你需要指定assembly描述符的位置,这个描述符定义了如何打包你的应用。
```xml
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>版本号</version>
<configuration>
<archive>
<manifest>
<mainClass>完全限定的主类名</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
2. 如果你没有指定`mainClass`元素,你可能需要在项目的`src/main/assembly`目录下创建一个名为`assembly.xml`的assembly描述文件,并在其中指定主类。例如:
```xml
<assembly>
<id>jar-with-dependencies</id>
<formats>
<format>jar</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<unpack>true</unpack>
</dependencySet>
</dependencySets>
<manifest>
<mainClass>完全限定的主类名</mainClass>
</manifest>
</assembly>
```
3. 在pom.xml中引用这个assembly描述文件:
```xml
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>版本号</version>
<configuration>
<archive>
<manifest>
<mainClass>完全限定的主类名</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
完成以上配置后,你可以运行以下Maven命令来打包你的应用:
```bash
mvn clean package
```
打包完成后,你会得到一个包含所有依赖的jar文件,你可以使用以下命令来运行它:
```bash
java -jar target/你的jar文件名-with-dependencies.jar
```
阅读全文