gpt4 book ai didi

java - 编译应用程序后找不到主类

转载 作者:行者123 更新时间:2023-12-02 13:15:31 26 4
gpt4 key购买 nike

我用两个文件制作了一个非常简单的 java 示例:

Dog.java 包含:

package com.greg.dog;

public class Dog {
public void bark() {
System.out.println("bark");
}
}

TestDog.java 包含:

package com.greg.dog;

public class TestDog {
public static void main(String args[]) {
Dog d = new Dog();
d.bark();
}
}

我在 ~/Desktop/test/src/com/greg/dog 位置有这两个文件

当我编译它们时,Dog.java 编译得很好,但是 TestDog.java 找不到我的 Dog 类:

user1@blackpearl:~/Desktop/test/src/com/greg/dog$ javac Dog.java 
user1@blackpearl:~/Desktop/test/src/com/greg/dog$ javac TestDog.java
TestDog.java:6: cannot find symbol
symbol : class Dog
location: class com.greg.dog.TestDog
Dog d = new Dog();
^
TestDog.java:6: cannot find symbol
symbol : class Dog
location: class com.greg.dog.TestDog
Dog d = new Dog();
^
2 errors

我使用的是 Ubuntu,这里是所有 java 信息​​:

java version "1.6.0_0"
IcedTea6 1.3.1 (6b12-0ubuntu6.7) Runtime Environment (build 1.6.0_0-b12)
OpenJDK 64-Bit Server VM (build 1.6.0_0-b12, mixed mode)

你知道我可能做错了什么吗?我需要导入Dog.java吗?我做的包错了吗?

更新

根据 Anon 的建议,我将目录更改为 src 目录,并且所有内容都可以编译。但是,当我去运行 TestDog.java 时,我收到此错误:

user1@blackpearl:~/Desktop/test/src$ java com/greg/dog/TestDog.java 
Exception in thread "main" java.lang.NoClassDefFoundError: com/greg/dog/TestDog/java
Caused by: java.lang.ClassNotFoundException: com.greg.dog.TestDog.java
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:319)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
Could not find the main class: com/greg/dog/TestDog.java. Program will exit.

最佳答案

Java 编译器希望其他类位于与调用编译器的位置相对应的包目录中。

您需要使用以下内容进行编译:

user1@blackpearl:~/Desktop/test/src$ javac com/greg/dog/Dog.java
user1@blackpearl:~/Desktop/test/src$ javac com/greg/dog/TestDog.java

关于java - 编译应用程序后找不到主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4778228/

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