gpt4 book ai didi

java - 在 Java 项目中使用 jar?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:19:13 24 4
gpt4 key购买 nike

package hello;

public class Hello
{

public static void main(String[] args)
{
coucou();
}

public static void coucou()
{
System.out.println("Hello there");
}

}

在一个名为 Tool 的单独项目中,我希望能够调用方法 Hello.coucou() 所以我写了如下内容:

import hello.*;

public class Tool
{

public static void main(String[] args)
{
System.out.println("main program running");
Hello.coucou();

}

}

然后我使用以下命令(在 linux 下)编译了 Tool.java:

$ javac Tool.java -classpath .:./extern/:

其中 Hello.jar 位于文件夹 ./extern

这似乎编译得很好,但是当我启动它时(即 java 工具),我得到了这个:

main program running
Exception in thread "main" java.lang.NoClassDefFoundError: hello/Hello
at Tool.main(Tool.java:9)
Caused by: java.lang.ClassNotFoundException: hello.Hello
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:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
... 1 more

我是 Java 的新手(C/C++ 背景),我不明白我做错了什么。有什么想法吗?

干杯大卫


编辑:我尝试在命令行中将 Hello.jar 添加到类路径中,但仍然出现相同的错误:

$ javac Tool.java -classpath .:./extern/Hello.jar:
$ java Tool -classpath .:./extern/Hello.jar:
main program running
Exception in thread "main" java.lang.NoClassDefFoundError: hello/Hello
at Tool.main(Tool.java:9)
Caused by: java.lang.ClassNotFoundException: hello.Hello
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:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
... 1 more

最佳答案

您在运行和编译时都需要类路径中的 Hello.jar。

关于java - 在 Java 项目中使用 jar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/970940/

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