导入有效的包导致java编译器错误

时间:2017-06-30 06:49:05

标签: java compiler-errors java-8 java-7

我在编译Order.java文件时遇到编译器错误,即使它包含其他打包类的import语句也是如此。我不完全确定为什么会发生这种情况,但这里有一个包含一些文件的目录树:

  • COM /我/域/ Order.java
    在此文件中包含以下包和导入:

    package domain;
    import utils.MyDate;
    
  • COM /我/ utils的/ MyDate.java
    在此文件中包含以下包和导入:

    package utils;
    

编译Order.java时得到的编译器错误:

 Order.java:2: error: package com.my.utils does not exist
 import com.my.utils.MyDate;
               ^
 Order.java:5: error: cannot find symbol
  public MyDate orderDate;
       ^
  symbol:   class MyDate
  location: class Order

 Order.java:16: error: cannot find symbol
  public Order(MyDate d, double amt, String c, String p, int q){
             ^
 symbol:   class MyDate
 location: class Order

 Order.java:24: error: cannot find symbol
  public Order (MyDate d, double amt, String c) {
              ^
 symbol:   class MyDate
 location: class Order
4 errors

在尝试撰写评论后,我仍然不确定如何解决这个问题。这是一些更详细的信息。

.bash_profile中的现有语句:

 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home
 export CLASSPATH=${CLASSPATH}:/Users/3aCaGa/Desktop/Java-SE-8-Programs/SimplifiedDateClass/com/my

我是如何编译的?我将转到目录中的java文件位置并运行命令,例如:

 java Order.java

有关文件及其确切内容的更多详细信息,请参阅: https://github.com/gosem01/Java-SE-8-Programs/tree/master/SimplifiedDateClass/com/my

2 个答案:

答案 0 :(得分:1)

编译转到你可以找到的目录"参见" com文件夹并执行:

<强> * nix中/ MacOS的

javac -cp . com/my/domain/*.java com/my/utils/*.java

<强>窗

javac -cp . com\my\domain\*.java com\my\utils\*.java

希望有所帮助

答案 1 :(得分:1)

您的包和导入语句与您的目录结构不匹配。

您的 Order.class 应该有:

package com.my.domain;
import com.my.utils.MyDate;

Utils.class

package com.my.utils;