【问题标题】:How can I include packages(folders) in the compilation of a java project through terminal?如何通过终端在 java 项目的编译中包含包(文件夹)?
【发布时间】:2013-12-16 09:27:16
【问题描述】:

所以,我想编译一个 java 基准测试。

我在文件夹 /home/username/Tools/myTool/folder2 中工作。 我正在使用javac -cp /home/username/Tools/appv1.0/ *.java进行编译

folder1 编译成功,因为它对包没有任何依赖关系。

在文件夹 2 中,我有问题,有 5 个文件夹作为包(有一些 java 类),但编译器无法识别它们,所以我需要明确说明。

我不断收到这样的错误

JClass1.java:22: error: package crypt does not exist import crypt.*; ^ JClass2.java:23: error: package series does not exist import series.*; ^

那么,我怎样才能将编译器指向这些包?

提前致谢。

【问题讨论】:

  • 我给出的是绝对路径。
  • 将你有其他包的文件夹添加到classpath,java必须知道所有依赖的必要类文件(jar或类文件)的位置
  • 尝试只使用 javac -cp /home/username/Tools/appv1.0/* 而不是 *.java
  • @user1933888 我该怎么做?请给我命令。
  • javac -cp dir1/*:dir2/* MainClass.java

标签: java command-line compilation


【解决方案1】:

您必须编写编译为:

javac -d bin -sourcepath src -cp lib/lib1.jar;lib/lib2.jar src/com/example/YOUR_FILE_NAME.java

因此应该创建 bin/com/example/Application.class 文件。如果 Application.java 使用了项目中的其他类,它们都应该被自动编译并放入相应的文件夹中。

更多info.

【讨论】:

    【解决方案2】:

    yogx 提供的答案毕竟是对的!!

    问题解决了。

    javac -cp dir1/*:dir2/* MainClass.java

    谢谢大家!

    【讨论】:

      猜你喜欢
      • 2016-09-01
      • 1970-01-01
      • 2017-02-06
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-26
      相关资源
      最近更新 更多