Java Packages/Library 函数

Java Packages/Library Functions

我正在尝试为 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,它说明了 输出 的放置位置,但你没有告诉它同样的目录也应该用于 input 在类路径上。为此使用 -cp 选项:

javac -d classes -cp classes Program.java

(尚不清楚您是在 目录 Program 中还是在其上方 - 您的源文件名似乎在 Program 目录,但您指定的输出目录就好像您在上面的目录中一样...)