maven打包多模块显示没有主清单属性
时间: 2024-10-31 11:04:38 浏览: 53
SpringBoot没有主清单属性的解决方法
当在Maven多模块项目中遇到“没有主清单属性”错误时,这通常是因为你试图打的JAR包缺少`MANIFEST.MF`文件,它是Maven用来创建独立可运行的Java应用(如包含`main-Class`属性的JAR)时所需的元数据文件。
以下是可能导致此问题的一些原因和解决方法:
1. **未指定主类**:
确保每个模块的`pom.xml`都有一个`<mainClass>`标签,指向该模块的主入口点,例如:
```xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.example.ModuleA.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
```
2. **只针对单模块打包**:
如果你想创建的是单独的模块打包,而不是整体项目的jar,那么每个模块都需要分别指定,或者在子模块的pom.xml中明确指定打包为jar。
3. **遗漏了maven-jar-plugin**:
确保你在构建插件部分包含了`maven-jar-plugin`,用于生成JAR文件。
4. **全局配置问题**:
确认你的全局配置(用户目录下的`.m2/settings.xml`)或其他地方没有禁止默认的manifest生成。
如果以上都没问题,检查是否有其他冲突的插件配置,或者尝试删除本地的`target`目录,然后重新构建看是否能解决问题。
阅读全文