在命令行中使用包编译Java代码时出错?
我有以下目录结构:在命令行中使用包编译Java代码时出错?,java,command-line,compilation,directory,package,Java,Command Line,Compilation,Directory,Package,我有以下目录结构: project1/src/edu/course/firstweek/javacourse/Program1.java 上面一个包中的另一个文件: project1/src/edu/course/firstweek/program2.java 在program2.java的标题中,我有 package edu.course.firstweek; import edu.course.firstweek.javacourse.Program1; 现在,当我在命令行中运行以下
project1/src/edu/course/firstweek/javacourse/Program1.java
上面一个包中的另一个文件:
project1/src/edu/course/firstweek/program2.java
在program2.java的标题中,我有
package edu.course.firstweek;
import edu.course.firstweek.javacourse.Program1;
现在,当我在命令行中运行以下命令时:
Javac src/edu/course/firstweek/program2.java,
我收到了这个错误:
src/edu/course/firstweek/program2.java:14:error cannot find symbol
System.out.println(program1.print("hello world"));
symbol: variable Program1
location: class program2
2 errors
我可以看到编译器无法找到program1
,但我在program2
中有正确的import
包
语句。我在这里需要帮助,在编译之后,运行程序时是否需要考虑一些问题
谢谢尝试进入其中一个目录,即
cd src
然后编译javacedu/course/firstweek/program2.java
对于跑步,请执行java教育课程第一周计划2哈!这是可行的,但是为什么进入
src
会有不同呢?因为它为您提供了一个隐式的类路径“.”,而“.”现在是包层次结构的顶部。编译时您应该始终在那里。@EJP:如果我没有完成cd src
这就是我不在的话,需要做些什么才能使它工作。'.'正确吗?