Java程序构建后无法运行:找不到或无法加载主类问题求助
JavaFX打包运行报错解决方法
1. 先修正运行命令
你用错了执行命令,JVM把jar文件名当成主类名才报的错,正确命令应该是:
java -jar GymBase-1.0-SNAPSHOT-shaded.jar
-jar参数是告诉JVM要运行的是一个可执行jar包,不能省略。
2. 检查Maven Shade插件配置
确保pom.xml里的shade插件正确指定了主类,还要处理JavaFX的特殊依赖,参考配置如下:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.4.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <!-- 替换成你项目的主类全限定名 --> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.t1t4n25.gymbase.MainApplication</mainClass> </transformer> <!-- 处理JavaFX服务加载,避免组件找不到 --> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build>
注意把<mainClass>里的内容换成你项目实际的主类路径,主类必须是继承javafx.application.Application的类。
3. 重新打包测试
执行mvn clean install重新生成jar包,再用修正后的命令运行即可。
内容的提问来源于stack exchange,提问作者Titan
相关产品推荐
相关产品推荐

