使用 IntelliJ IDEA 打成jar包运行找不到主类
时间: 2025-06-12 12:43:52 浏览: 27
### 解决方案
在 IntelliJ IDEA 中打 JAR 包后运行时出现 `No main manifest attribute` 或者主类 `not found` 的问题,通常是因为构建过程中未正确指定主类或者 MANIFEST 文件中的属性缺失。以下是具体的解决方案:
#### 1. 配置 Artifact
确保已正确配置项目的 artifact 设置。如果之前存在旧的 artifact 缓存,则可能导致依赖项加载错误[^1]。
- 打开 **File -> Project Structure -> Artifacts**。
- 如果已有 artifact,请先删除它,然后点击加号按钮 (+),选择 **JAR -> From modules with dependencies**。
- 在弹出窗口中,设置模块的主要类(Main Class),并确认路径无误。
- 勾选选项 “Include in project build”,以便每次编译项目时自动更新此 JAR 文件。
#### 2. 检查 Main-Class 属性
MANIFEST.MF 文件需要包含正确的 `Main-Class` 条目来定义程序入口点。如果没有这个条目,就会抛出 `No main manifest attribute` 错误。
- 转到上述创建好的 artifact 页面,在右侧可以看到 MANIFEST 配置部分。
- 确认已经选择了合适的主类作为启动入口,并保存更改。
#### 3. 使用 Maven 构建工具
对于基于 Spring Boot 的应用或其他复杂结构的应用来说,推荐利用 Maven 插件完成打包操作而不是手动调整 IDE settings[^2]。
- 修改 pom.xml 文件加入 spring-boot-maven-plugin 插件支持:
```xml
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
```
- 接下来执行命令 mvn clean package 即可生成最终可执行 jar 文件位于 target 目录下。
#### 4. 处理 ClassNotFoundException 和 MethodNotFoundError
当遇到类似异常时,可能意味着某些必要的库文件未能被打入最终产物之中[^3]。此时应仔细核查外部依赖是否全部被纳入其中;另外也要注意不同版本间的兼容性问题以免引入冲突。
通过以上方法应该能够有效解决大部分关于 intellij idea 下制作 java 应用程序独立部署包时常遇见的各种典型难题。
```bash
mvn clean package -DskipTests=true
java -jar your-application-name.jar
```
阅读全文
相关推荐


















