You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven项目导出Jar提示No main manifest attribute错误求助

解决JAR运行时"no main manifest attribute"错误

你的pom.xml里的maven-assembly-plugin版本过于陈旧(2.2-beta-5是多年前的测试版),这很可能是主清单属性未正确生成的核心原因。另外要注意,你需要运行assembly插件生成的包含依赖的JAR,而非Maven默认生成的空JAR。

修复步骤:

1. 更新maven-assembly-plugin到稳定版本

替换旧的assembly插件配置为最新稳定版(示例用3.6.0),确保配置准确:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.6.0</version>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.furetto126.furettobot.FurettoBot</mainClass>
                <!-- 务必确认主类路径和代码中完全一致,包括包名、类名的大小写 -->
            </manifest>
        </archive>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

2. (可选)添加maven-jar-plugin兜底配置

如果assembly插件仍有问题,可以额外配置maven-jar-plugin,让默认生成的JAR也包含主类信息:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>3.3.0</version>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.furetto126.furettobot.FurettoBot</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

3. 正确打包并运行

  • 执行Maven命令:mvn clean package
  • 打包完成后,在target目录下找到带-jar-with-dependencies后缀的JAR文件(比如FurettoBot-1.1-jar-with-dependencies.jar),运行该文件:
java -jar target/FurettoBot-1.1-jar-with-dependencies.jar

关键验证

确认com.furetto126.furettobot.FurettoBot类真实存在,且类中包含public static void main(String[] args)方法,包名、类名的大小写必须和代码完全匹配。

内容的提问来源于stack exchange,提问作者Furetto126

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 08:33:26