Java 包/库函数

标签 java package

我正在尝试为主 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/

相关文章:

java - 通过统计灰度值 (Java) 自动裁剪扫描图像的黑色边框

java - 集合迭代: For Syntax vs Iterator : Reusing Temporary Variables

java - 在mysql 5.5中通过JDBC创建触发器时出错

java - Eclipse 找不到 Oracle VM 模拟器

debugging - Emacs:Symbol 的函数定义是无效的:use-package

meteor - 在 meteor 项目上出现 "error: Potentially incompatible change required to top-level dependency"错误

react-native - 允许我扫描 QRCode 的软件包?

c# - C#和Java中继承的区别

linux - RPM 包中的几个组

java - 如何告诉 Eclipse 使用来自不同库的不同版本的包进行构建?