【问题标题】:javac multiple command optionsjavac 多个命令选项
【发布时间】:2016-04-01 23:50:10
【问题描述】:

我已将我的 Java 文件分类到子目录中以使其更整洁,并且想知道是否可以访问 jar 和源文件,然后在一个 javac 命令中将类文件放入另一个指定的文件夹中?

作为标准,我的 jar 文件位于 /lib 中,java 文件位于 /src 中,还有一个名为 /bin 的空文件夹用于存放我的类文件。

当我的 java 和类文件是顶级文件并且只有 jar 位于子目录中时,我要编译的终端命令是:

javac -cp .:./lib/mysql-connector-java-5.1.38-bin.jar Test.java 

到目前为止,我知道我需要 -cp 来查找 jar,但还需要 -d 来指定我希望放置类文件的位置和 -sourcepath 来查找源文件(我不只需要 src/Test.但是java?)。

我怎样才能使它成为终端的合法输入?

一个更进一步的问题是,有没有办法创建一个脚本来每次在 linux 中运行该 javac 命令?很高兴知道这一点。

非常感谢!

【问题讨论】:

    标签: java path classpath javac


    【解决方案1】:

    首先回答你的问题

    ... 是否可以访问 jar 和源文件,然后在一个 javac 命令中将类文件放入另一个指定文件夹?

    是的。使用-cp 指定类路径,使用-d 指定目标目录。注意class文件会根据包名层次写入目标目录的子目录。

    如果要增量编译,最好在类路径中包含-d 目录。对于非增量(干净)构建,首先删除 -d 目录中的所有内容。

    我怎样才能使它成为终端的合法输入?

    javac -d bin -cp bin:./lib/mysql-connector-java-5.1.38-bin.jar Test.java 
    

    一个更进一步的问题是,有没有办法创建一个脚本来每次在 linux 中运行该 javac 命令?

    每次都是什么?

    • 是的,可以在 Linux 中编写脚本。事实上,如果你做简单的事情,相对容易。 (我相信你可以找到一些关于 shell 脚本的教程。)

    • 是的,可以编写一个脚本来运行javac 命令。

    • 是的,可以编写一个脚本来运行javac 命令和其他东西......之前或之后。

    • 这是个好主意吗?由您决定。

    但是构建(尤其是)大型 Java 应用程序比编写临时 shell 脚本更好的方法。我建议您花时间了解可移植的 Java 构建工具,例如 Ant、Maven 和 Gradle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 2016-07-05
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      相关资源
      最近更新 更多