0

我知道这个问题已经被问过并回答了很多次。但我不知何故无法做到这一点。我有一个具有以下结构的包

model/
   InputDetails.java
   RelationDetails.java

现在该文件RelationDetails具有以下结构:

package model;
public class RelationDetails {
     ....
}

该文件InputDetails具有以下结构

package model;
public class InputDetails {
    .....
}

现在我已经编译了在同一目录RelationDetails.java中创建文件的文件。RelationDetails.class但是当我尝试编译InputDetails.java文件时,它显示错误

Symbol not found

RelationDetails用过的地方。我哪里错了??

4

4 回答 4

4

我建议使用EclipseIntelliJ IDEA 之类的 IDE 。他们将为您进行编译。或者使用 Ant、Gradle 或 Maven 进行编译。我是一名专业的 Java 开发人员,我不记得上次javac从命令行使用是什么时候了。没有必要。

如果您坚持javac直接使用,请从适当的源文件夹(“模型”上方的目录)一起编译这两个文件。:

javac "model/InputDetails.java" "model/RelationDetails.java"

或者,如果您想单独编译它们:

javac -classpath . "model/InputDetails.java"
javac -classpath . "model/RelationDetails.java"

-classpath .位将当前文件夹添加到javac可执行文件的类路径中,因此它可以找到以前编译的类,并且您不会收到“未找到符号”错误。

于 2013-11-07T14:29:12.780 回答
0
$ pwd
/tmp/model

$ ls
InputDetails.java  RelationDetails.java

$ javac  InputDetails.java  RelationDetails.java

$ ls *.class
InputDetails.class  RelationDetails.class
于 2013-11-07T14:31:24.003 回答
0

我只是在我的 Eclipse 中尝试过,没有任何东西会显示错误,对用户 Eclipse 或 STS 来说更好,他们会帮助你轻松解决这个问题,我想是的..

于 2013-11-07T14:39:31.167 回答
-1

使用完全限定符名称进行编译。

javac model\YourClass.java
于 2013-11-07T14:38:07.490 回答