我有以下 Java 应用程序结构:
- 项目名称:
GoodManagement
- 主包:
goodmanagement
- 主类路径:
goodmanagement.GoodManagementLauncher
我在 Windows 上使用 NetBeans 构建应用程序。 在 Windows 上启动时,应用程序可以完美启动。这同样适用于在 Windows 上启动 jar。
将 jar 复制到 Raspberry Pi 2(适用于 ARM32 v7 的 Oracle JDK 8)上的 Ubuntu Mate 时,我无法使用 java -jar GoodManagement.jar
启动该 jar。
它告诉我无法找到或加载主类。
我尝试了以下方法但没有成功:
- 使用 export CLASSPATH=., CLASSPATH=.:[PATH TO CLASSES FOLDER] 设置
CLASSPATH
变量 ($CLASSPATH
)。 - 像上面一样使用 -cp 或 -classpath 设置类路径。
- 使用 jar 文件的绝对路径作为 -classpath。
- 使用类文件夹的路径(如 1. 中所示),然后使用完全限定的类名称 (goodmanagement.GoodManagementLauncher)
那么我该怎么做才能在 Ubuntu 上启动我的应用程序呢?
编辑1: 构建应用程序的输出:
ant -f D:\\Documents\\Fachschaft\\GoodManagement\\GoodManagement jfx-rebuild
init:
deps-clean:
Updating property file: D:\Documents\Fachschaft\GoodManagement\GoodManagement\build\built-clean.properties
Deleting directory D:\Documents\Fachschaft\GoodManagement\GoodManagement\build
clean:
init:
deps-jar:
Created dir: D:\Documents\Fachschaft\GoodManagement\GoodManagement\build
Updating property file: D:\Documents\Fachschaft\GoodManagement\GoodManagement\build\built-jar.properties
Created dir: D:\Documents\Fachschaft\GoodManagement\GoodManagement\build\classes
Created dir: D:\Documents\Fachschaft\GoodManagement\GoodManagement\build\empty
Created dir: D:\Documents\Fachschaft\GoodManagement\GoodManagement\build\generated-sources\ap-source-output
Compiling 39 source files to D:\Documents\Fachschaft\GoodManagement\GoodManagement\build\classes
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Copying 12 files to D:\Documents\Fachschaft\GoodManagement\GoodManagement\build\classes
compile:
Created dir: D:\Documents\Fachschaft\GoodManagement\GoodManagement\dist
Detected JavaFX Ant API version 1.3
Launching <fx:jar> task from C:\Program Files\Java\jdk1.8.0_51\jre\..\lib\ant-javafx.jar
Warning: From JDK7u25 the Codebase manifest attribute should be used to restrict JAR repurposing.
Please set manifest.custom.codebase property to override the current default non-secure value '*'.
Launching <fx:deploy> task from C:\Program Files\Java\jdk1.8.0_51\jre\..\lib\ant-javafx.jar
jfx-deployment-script:
jfx-deployment:
jar:
jfx-rebuild:
BUILD SUCCESSFUL (total time: 6 seconds)
现在是 list 文件:
Manifest-Version: 1.0
Implementation-Title: GoodManagement
Implementation-Version: 1.0
Permissions: sandbox
Codebase: *
JavaFX-Version: 8.0
Class-Path:
Created-By: JavaFX Packager
Implementation-Vendor: Daniel
Main-Class: goodmanagement.GoodManagementLauncher
最佳答案
问题是我试图在不支持 JavaFX (arm32 jdk1.8.60) 的虚拟机中运行 JavaFX 应用程序。 当尝试编译源代码时,我发现编译器无法找到 JavaFX 类。
关于java - 如果设置了类路径,如何修复 "main class not found"错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32658474/