【问题标题】:How to create a Java package from downloaded source in Linux如何在 Linux 中从下载的源代码创建 Java 包
【发布时间】:2018-06-29 23:12:13
【问题描述】:

我下载了一个外部库,通用编解码器,并试图从下载的源代码创建一个包,以便我可以在 java 类文件中导入和使用它。我该怎么做呢?

我将下载的目录移动到与我的 java 类文件相同的目录中。

到目前为止我已经尝试过:

    package commons-codec-1.11-src;

我把它放在我的 java 类文件的开头

然后我尝试在 Linux 终端中使用 javac 编译文件

    javac -cp ~/Documents/javapractice/commons-codec-1.11-src ~/Documents/javapractice/File.java

我收到“接口、类或枚举所需的错误”,编译器错误指向 java 类文件中的包语句。

代码:

    import java.util.*
    package commons-codec-1.11-src;

    public class File
    {
     ........

    }

只是为了澄清一下 commons-codec-1.11-src 是我下载的源代码,现在是与 File.java 位于同一目录中的目录 任何帮助将不胜感激!谢谢!

【问题讨论】:

  • 是否有理由构建包而不是仅使用 jar 文件和依赖管理工具(如 Maven 或 Gradle)?

标签: java linux compilation package javac


【解决方案1】:

我下载了一个外部库、通用编解码器,并正在尝试 从下载的源代码创建一个包,以便我可以导入 并在java类文件中使用它。我该怎么做呢?

您不需要也不应该将外部库的源代码打包到您的应用程序中。
在您自己的应用程序中提取依赖类是一个非常角落的用例,只有在您别无选择时才应该这样做。

您需要在编译时(javac 命令)和运行时(java 命令)在类路径中添加包含已编译类的 jar。

假设 jar 名为 commons-codec-1.11.jar,要编译你的 File.java 类,你应该执行:

javac -cp ~/Documents/javapractice/commons-codec-1.11.jar /~/Documents/javapractice/File.java

File.java 声明也不正确。

package 声明必须发生在 import 声明之前,packageimport 值也不正确。

应该是这样的:

package javapractice;
import java.util.*;

public class File {
 ........

}

关于从第三方库导入,需要导入File类中使用的类
您无法像尝试那样导入整个包。

我认为您应该尝试了解javac/java bases 并从 IDE 开始以使事情变得更容易。

【讨论】:

    猜你喜欢
    • 2019-04-01
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 1970-01-01
    • 2016-12-18
    相关资源
    最近更新 更多