gpt4 book ai didi

java - 在不同的目录中使用类文件

转载 作者:行者123 更新时间:2023-11-30 08:23:30 24 4
gpt4 key购买 nike

我正在尝试运行一个简单的类,该类使用位于单独子文件夹中的类。编译正常,但是运行时出现异常。

哈哈.java:

public class lol
{
public static void main(String Args[])
{
test();
}

public static Input test()
{
Input asdf = new Input();
return asdf;
}
}

输入.java:

public class Input
{
public int x;
}

我用命令编译:

javac lol.java HOME/input.java

编译后的文件夹结构:

Test
|
|---lol.java
|---lol.class
|---HOME
|
|---Input.java
|---Input.class

编译没有错误;但是,我不确定之后如何运行它。

我尝试运行它:

java lol

但是现在找不到“Input”类,因为它在一个单独的文件夹中,因此导致以下异常:

java.lang.NoClassDefFoundError: Input
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: Input
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more
Exception in thread "main"

如何在保持此文件夹结构的同时运行它?

最佳答案

您必须将 HOME 添加到类路径中:

在 Windows 上:

java -classpath .;HOME lol

关于其他一切:

java -classpath .:HOME lol

关于java - 在不同的目录中使用类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23627341/

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