java文件可以编译,但不会运行

p8h8hvxi  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(519)

**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

21天前关门了。
改进这个问题
我可以通过使用命令将文件指向它使用的库文件夹来编译文件 javac -cp "path\to\lib\file.jar" FileName.java 但当我试着用 java FileName ,我收到以下堆栈跟踪:

java SecureFileSample
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: com/voltage/securedata/enterprise/VeException
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
        at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
        at java.lang.Class.getMethod0(Class.java:3018)
        at java.lang.Class.getMethod(Class.java:1784)
        at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526)
Caused by: java.lang.ClassNotFoundException: com.voltage.securedata.enterprise.VeException
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 7 more

这意味着在我弄清楚之前,这个软件不能被使用或与其他软件集成(在这里添加这个是因为堆栈溢出认为“可以编译但不会运行”的描述不够清晰)。预期的行为是要运行的类(执行它给出的指令),但是用于此的常规命令 java FileName 不起作用。
我在google上搜索了一下,找到的唯一答案(与主类中的构建器相关)与我的构建器完全匹配。
此文件中没有包声明。

koaltpgm

koaltpgm1#

您可以提供相同的类路径(可能包含 VeException 类)与 java 命令。另外(从注解中捕获讨论)不要忘记添加包含已编译类的目录:

java -cp "path\to\lib\file.jar;path\to\lib\" SecureFileSample

相关问题