有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

编译一起编译Java类

我想我是新的,但是当我在一个单独的文件中从一个类中创建一个对象时,只有当该类定义在同一个目录中,或者我从库中导入它时,它才会编译。我假设它使用classpath来搜索包含的类文件,但当我向classpath添加一个随机目录(并且只将该文件放在那里)时,它仍然抱怨类没有定义,无法编译。它知道在编译时在哪里查找类

范例

public class SomeClass {

public SomeOtherClass SoC; // If this class is not in library or same directory -- won't compile.

}

共 (2) 个答案

  1. # 1 楼答案

    // If this class is not in library or same directory   won't compile
    

    对。类需要位于类路径中,或者位于指定的.jar

    在编译时,您将使用

    javac -classpath .:/some/other:/another:/some/foo.jar
    

    然后import你需要什么就做什么。java文件(你的代码)

  2. # 2 楼答案

    除了导入,类路径上还必须有代表类的包的文件夹

    例如:

    com.whatever.SomeClass位于src/java/com/whatever/SomeClass.class。 现在,类路径应该包含src/java/,然后从那里查找包com.whatever

    如果课程在一个。jar文件,您应该将jar放在类路径中。在房间里。jar您将再次拥有com/whatever/SomeClass.class(请注意,.jar基本上是一种类似于zip的格式)