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

IntelliJ运行正常,命令行启动报错NoClassDefFoundError(GHFileNotFoundException)

问题分析与解决办法

这不是代码问题,根源是Maven默认生成的jar包不包含项目依赖的第三方库。IntelliJ IDEA运行项目时会自动加载本地Maven仓库中的依赖,所以能正常启动;但直接运行打包后的jar时,JVM找不到org/kohsuke/github/GHFileNotFoundException这类依赖类,就会抛出NoClassDefFoundError。

解决办法是修改pom.xml,添加Maven插件来打包包含所有依赖的可执行jar:

  1. 在pom.xml的<build>标签内添加maven-assembly-plugin插件:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                    <archive>
                        <manifest>
                            <!-- 替换为你的主类全限定名,比如 com.yourpackage.GitHubAnalyzer -->
                            <mainClass>你的主类完整路径</mainClass>
                        </manifest>
                    </archive>
                </configuration>
                <executions>
                    <execution>
                        <id>make-assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    
  2. 重新执行打包命令:

    mvn clean package
    
  3. 进入target目录,运行包含所有依赖的jar包(文件名会带有-jar-with-dependencies后缀):

    java -jar github-analyzer-1.0-SNAPSHOT-jar-with-dependencies.jar
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 01:01:02