我在编译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
答案 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;