导入有效包导致 java 编译器错误
importing a valid package is causing a java compiler error
我在编译 Order.java 文件时遇到编译器错误,即使它包含另一个打包的 class 的导入语句。我不完全确定为什么会这样,但这是一个目录树,其中包含我拥有的一些文件:
com/my/domain/Order.java
此文件中包含以下包和导入:
package domain;
import utils.MyDate;
com/my/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
要编译,请转到您可以 "see" com 文件夹的目录并执行:
*nix/MacOS
javac -cp . com/my/domain/*.java com/my/utils/*.java
Windows
javac -cp . com\my\domain\*.java com\my\utils\*.java
希望对您有所帮助
您的包和导入语句与您的目录结构不匹配。
你的Order.class应该有:
package com.my.domain;
import com.my.utils.MyDate;
和Utils.class:
package com.my.utils;
我在编译 Order.java 文件时遇到编译器错误,即使它包含另一个打包的 class 的导入语句。我不完全确定为什么会这样,但这是一个目录树,其中包含我拥有的一些文件:
com/my/domain/Order.java
此文件中包含以下包和导入:package domain; import utils.MyDate;
com/my/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
要编译,请转到您可以 "see" com 文件夹的目录并执行:
*nix/MacOS
javac -cp . com/my/domain/*.java com/my/utils/*.java
Windows
javac -cp . com\my\domain\*.java com\my\utils\*.java
希望对您有所帮助
您的包和导入语句与您的目录结构不匹配。
你的Order.class应该有:
package com.my.domain;
import com.my.utils.MyDate;
和Utils.class:
package com.my.utils;