我尝试使用 javac 编译我的 javafile javac Main.java -cp ./lib HelloWorld.java
,我得到了这个 javac: file not found: HelloWorld.java
>
这是我的java源文件:
./
import lib.*;
public class Main
{
public static void main (String []args)
{
HelloWorld hw = new HelloWorld ();
System.out.println (hw.getMsg ());
}
}
和./lib下的HelloWorld.java
package lib;
public class HelloWorld
{
public String getMsg ()
{
return "HelloWorld!";
}
}
如有任何帮助,我们将不胜感激!
最佳答案
你的命令应该是
javac Main.java lib/HelloWorld.java
您的尝试因以下几个原因而失败:
-cp lib
(如果需要)应位于源代码路径名之前- 类路径不用于查找源文件;它用于查找编译文件。
在这种情况下,由于另一个原因,将类路径设置为 ./lib
是错误的。目录lib
实际上对应于HelloWorld
类的包名称。如果类路径是 ./lib
,则 java
和 javac
将查找 HelloWorld.java
的编译版本在
./lib/lib/HelloWorld.class
关于java - 使用javac和java执行其他目录下带有外部类的类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44458126/