我正在尝试为主 Java 程序创建库函数包,但遇到一些问题。
我对 Java 包了解不多,我正在网上浏览一些纪录片。
我已经创建了我的目录
./Program/Program.java
./Program/TestFunc.java
./Program/classes/library/
TestFunc.java的内容是
package library;
public class TestFunc {
public void message01() {
System.out.println("called message01");
}
public void message02() {
System.out.println("called message02");
}
}
我按照文档中的内容编译了它
javac -d ./Program/classes TestFunc.java
这给了我
./Program/classes/library/TestFunc.class
然后我尝试在 Program.java 中调用它
import library.*;
public class Program {
public static void main(String[] args) {
System.out.println("Starting Script");
}
}
当我尝试使用编译时
javac -d ./Program/classes Program.java
我收到错误
package library does not exist
这是为什么?
最佳答案
您已经使用了 -d
来说明将输出放在何处,但您没有告诉它也应该使用相同的目录在类路径上输入。使用 -cp
选项:
javac -d classes -cp classes Program.java
(不清楚您是在 Program
目录内部还是在其上方执行此操作 - 您的源文件名似乎位于 Program
目录,但您指定输出目录,就好像您在上面的目录中一样...)
关于Java 包/库函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32440320/