gpt4 book ai didi

Java 无法从 CLASSPATH 加载类

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:56:57 24 4
gpt4 key购买 nike

<分区>

我有一个包含内容的 jar 文件($ unzip -l output.jar):

Archive:  output.jar
Length Date Time Name
--------- ---------- ----- ----
0 2013-07-08 17:57 META-INF/
120 2013-07-08 17:57 META-INF/MANIFEST.MF
0 2013-07-08 17:43 some/
0 2013-07-08 17:43 some/package/
1247 2013-07-08 17:57 some/package/Main.class
2032 2013-07-08 17:57 some/package/plsql_o12_lexer$DFA22.class
8022 2013-07-08 17:57 some/package/plsql_o12_lexer$DFA23.class
212573 2013-07-08 17:57 some/package/plsql_o12_lexer.class
--------- -------
223994 11 files

META-INF/MANIFEST.MF 的内容是:

Manifest-Version: 1.0
Created-By: 1.6.0_27 (Sun Microsystems Inc.)
Main-Class: some.package.Main

但是,运行命令 $ echo $CLASSPATH; java -jar 输出.jar。注意 CLASSPATH 变量已设置。

/usr/share/java/antlr3-runtime-3.2.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/antlr/runtime/CharStream
Caused by: java.lang.ClassNotFoundException: org.antlr.runtime.CharStream
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: some.package.Main. Program will exit.

运行命令 $ java -classpath/usr/share/java/antlr3-runtime-3.2.jar -jar output.jar 产生完全相同的结果。我也尝试过 .:/usr/share/java/antlr3-runtime-3.2.jar.:./output.jar:/usr/share/java/antlr3-runtime- 3.2.jar 作为类路径,结果相同。文件 antlr3-runtime-3.2.jar 确实包含类 org.antlr.runtime.CharStream,我已经检查过了。

但是,运行 java -verbose -jar output.jar 会得到包含以下行的结果:

[Loaded some.package.Main from file:/home/jan/projects/antlr-plsql/output.jar]

我的java是:

java version "1.6.0_27"
OpenJDK Runtime Environment (IcedTea6 1.12.5) (6b27-1.12.5-0ubuntu0.12.04.1)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

为什么 Java 不能按预期的方式工作?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com