未找到 Java 类

发布于 2024-11-06 20:33:22 字数 915 浏览 2 评论 0原文

我正在尝试从 jar 文件运行 java 程序。 Java 找不到支持的 marc4j 类。我做错了什么。 详细信息

以下是我当前直接使用的 MarcTry.jar 的 ,其中包含我的主类。还有 marc4j.jar 缺少类:

org/marc4j/MarcReader

例如:

java -jar MarcTry.jar 线程“main”中的异常 java.lang.NoClassDefFoundError: org/marc4j/MarcReader 引起原因:java.lang.ClassNotFoundException:org.marc4j.MarcReader 在 java.net.URLClassLoader$1.run(URLClassLoader.java:202) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:307) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:248) 找不到主类:marctry.Main。程序将退出。

我尝试过

java -jar MarcTry.jar -classpath marc4j.jar

有或没有 marc4j.jar 完全限定的路径。

欢迎任何想法。

I'm trying to run a java program from a jar file. Java can't find a supporting marc4j class. What am I doing wrong. Here are the details

Within my current directly is MarcTry.jar which has my main class. There is also marc4j.jar which has the missing class:

org/marc4j/MarcReader

For example:

java -jar MarcTry.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/marc4j/MarcReader
Caused by: java.lang.ClassNotFoundException: org.marc4j.MarcReader
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: marctry.Main. Program will exit.

I've tried

java -jar MarcTry.jar -classpath marc4j.jar

with and without the marc4j.jar a fully qualified path.

Any ideas are welcome.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

染柒℉ 2024-11-13 20:33:22

当您使用“-jar”开关时,类路径将被忽略。使用“-classpath”指定两个 jar,并使用完全限定名称执行主类。

例如
java -cp MarcTry.jar;marc4j.jar com.domain.MainClass

.. 或将 marc4j.jar 添加到 MarcTry.jar 的清单文件中的类路径条目

您可以在此处阅读有关将 jar 添加到清单文件的类路径的信息:< a href="http://download.oracle.com/javase/tutorial/deployment/jar/downman.html" rel="noreferrer">将类添加到 JAR 文件的类路径

The classpath is ignored when you are using the "-jar" switch. Specify both jars with "-classpath" and execute the main class with the fully qualified name.

E.g.
java -cp MarcTry.jar;marc4j.jar com.domain.MainClass

.. or add marc4j.jar to the classpath entry in the manifest file of MarcTry.jar

You can read about adding jars to the classpath of the manifest file here:Adding Classes to the JAR File's Classpath

穿透光 2024-11-13 20:33:22
java -cp <complete path for your supporting jar>;<your jar which you want to run>

(为了安全起见,将两个罐子放在同一个文件夹中)

java -cp <complete path for your supporting jar>;<your jar which you want to run>

(for safety put both jars in the same folder)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文