【发布时间】:2017-06-30 06:49:04
【问题描述】:
我在编译 Order.java 文件时遇到编译器错误,即使它包含另一个打包类的导入语句。我不完全确定为什么会发生这种情况,但这是一个目录树,其中包含我拥有的一些文件:
-
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
在尝试形成 cmets 后,我仍然不确定如何解决这个问题。这里有更多细节。
.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
【问题讨论】:
-
你的
classpath是什么? -
基于
com/my/utils/MyDate.java可能是import com.my.MyDate; -
这是我的类路径:
export PATH=$PATH/Users/3aCaGa/Desktop/Java-SE-8-Programs/SimplifiedDateClass/com也将其更改为import com.my.MyDate;摆脱了错误,但现在我在编译 Order.java 时出现找不到符号错误:Order.java:2: error: cannot find symbol import com.my.MyDate;跨度> -
1- 这不是 CLASSPATH 它只是 PATH; 2-它缺少
$PATH和/Users/...之间的分隔符':'(假设非Windows) -
如果那是类路径,则缺少
my文件夹
标签: java compiler-errors java-8 java-7