【问题标题】:compiling package, including jars via command line编译包,包括通过命令行的 jars
【发布时间】:2020-10-25 21:52:15
【问题描述】:

我正在使用 Netbeans IDE,但我正在尝试编译和运行我的 通过 Unix shell 进行项目:

  • 我有一个包:project/src/packageName/.java 文件

  • 还有我的 jar:project/lib/.jar 文件

src/packagename/.. 下的类或多或少相互依赖,它们也使用上述库。

我通过 Netbeans 添加了库(虽然 NetBeans 无法识别我使用的库中的类 我的项目,所以我需要先提取 .jar 文件并直接 NetBeans 到包含 .class 文件的提取 jar 文件夹 来自图书馆)。

当我在 NetBeans 中运行包含 main() 方法的类时,它工作得很好。 但我正在尝试通过使用 javac 的 unix shell 来完成此操作。

我的问题:如何编译我的项目,包括 jars/foreign 库。 我已经尝试了以下方法:

javac -classpath ".:jar1.jar:jar2.jar:" /path/to/project/src/packageName *.java

它仍然说找不到符号(引用库中的类)

很抱歉,如果这个问题已经在其他地方得到回答,但经过几个小时的研究,我无法让它发挥作用。 我猜我做错了什么?

【问题讨论】:

    标签: java unix netbeans jar javac


    【解决方案1】:

    请阅读 javac 的 Java 文档,这里是 JDK14 javac

    您可以尝试许多其他选项,特别是如果您想定义不同的文件编码或 JRE 源/目标。

    如果使用当前目录的相对路径,您可以简化命令,只需 cd 首先到您的项目目录。这是一个简单的调用:

    javac -d build/my.classes -sourcepath src -cp lib/abc.jar:lib/xyz.jar  src/packageName/*.java
    

    您可能需要mkdir build 或其他一些目录来存储临时文件。在此之后,您可以尝试在文件上使用java 的直接命令运行您的应用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2011-02-26
      • 2015-01-15
      • 1970-01-01
      • 2013-11-08
      • 2013-09-25
      相关资源
      最近更新 更多