jenkins没有主清单属性
时间: 2025-02-20 11:12:12 浏览: 33
### 如何解决 Jenkins 缺少主清单属性问题
#### 了解背景信息
在构建 Java 或 Spring Boot 应用程序时,如果遇到 `Missing Main-Class manifest attribute` 错误,则表示 JAR 文件的 MANIFEST.MF 中未指定应用程序入口点。这通常发生在尝试通过命令行运行 JAR 文件时。
#### 配置主清单属性
为了确保能够正确执行打包后的 JAR 文件,需要设置 `Main-Class` 属性来指明应用启动类的位置。可以通过多种方式实现这一点:
- **Maven 构建工具**
如果使用 Maven 进行项目管理,可以在 pom.xml 文件中加入如下配置片段以自动添加必要的清单条目[^2]:
```xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>${start-class}</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
```
- **Gradle 构建工具**
对于 Gradle 用户来说,应该编辑 build.gradle 文件并包含以下内容以便自动生成带有适当元数据的目标文件:
```groovy
springBoot {
mainClassName = 'com.example.SpringBootApplication'
}
```
- **手动修改 MANIFEST.MF 文件**
另一种方法是在项目的资源目录下创建或更新 META-INF/MANIFEST.MF 文件,并显式声明 `Main-Class:` 行指向正确的全限定名类路径[^1]:
```
Manifest-Version: 1.0
Main-Class: com.example@SpringBootApplication
```
完成上述任一步骤之后重新编译项目并将新版本上传至 Jenkins 流水线环境中测试效果即可解决问题。
阅读全文
相关推荐


















