maven怎么样在打jar包时不生成META-INF/versions/9/
时间: 2023-10-07 15:14:16 浏览: 111
在使用Maven打包时,如果你不想要生成`META-INF/versions/9/`目录,可以在`pom.xml`文件中配置`maven-compiler-plugin`插件,指定源代码和目标JVM版本。例如:
```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
```
这个配置将设置Java源代码版本为1.8,目标JVM版本为1.8。这样,即使你使用Java 9或更高版本的编译器编译该代码,也不会生成`META-INF/versions/9/`目录。
在使用`maven-jar-plugin`打包时,也可以使用`maven.compiler.release`属性指定JVM版本,例如:
```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.MyMainClass</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>jar</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<archive>
<manifestEntries>
<maven.compiler.release>8</maven.compiler.release>
</manifestEntries>
</archive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
这个配置将使用Java 8的规范打包代码,并将`maven.compiler.release`属性设置为8,这样即使你使用Java 9或更高版本的`maven-jar-plugin`打包该代码,也不会生成`META-INF/versions/9/`目录。
阅读全文