- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已将 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.jar 吗?但是java?)。
我怎样才能使其成为终端的合法输入?
接下来的一个问题是,有没有办法创建一个脚本来每次在 Linux 中运行该 javac 命令?如果知道的话那就太好了。
非常感谢!
最佳答案
首先回答你的问题
... is possible to access jars and source files and then place class files into another specified folder in one javac command?
是的。使用 -cp
指定类路径,使用 -d
指定目标目录。请注意,类文件将根据包名称层次结构写入目标目录的子目录中。
如果您想增量编译,最好在类路径中包含 -d
目录。对于非增量(干净)构建,请首先删除 -d
目录中的所有内容。
How would I be able to make that a legal input for terminal?
javac -d bin -cp bin:./lib/mysql-connector-java-5.1.38-bin.jar Test.java
A step up question from that would be is there a way to create a script to run that javac command every time in linux?
每次什么?
是的,可以在 Linux 中编写脚本。事实上,如果你做的事情很简单,那就相对容易。 (我相信您可以找到一些有关 shell 脚本编写的教程。)
是的,可以编写脚本来运行 javac
命令。
是的,可以编写一个脚本来运行 javac
命令和其他东西......之前或之后。
这是个好主意吗?由您决定。
但是,有比编写临时 shell 脚本更好的方法来构建(特别是)大型 Java 应用程序。我建议您花时间了解一下可移植的 Java 构建工具,例如 Ant、Maven 和 Gradle
关于javac 多个命令选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36367580/
我的问题是关于基本的java命令之一“javac”。我的桌面上有一个“.java”文件。我已经安装了 JDK 7 并将路径变量添加到环境变量中。这是“环境变量”的屏幕截图。 http://s13.po
我制作了我的 gitrepository 并提交了它。 插入了一个 java 文件并想编译它,但它给了我这个: Bernard@BERNARD-PC /c/users/bernard/desktop/
运行Maven时,得到以下输出: [WARNING] Unable to autodetect 'javac' path, using 'javac' from the environment. 我该
我有一个导入一些 servlet 库的类。当我从命令行编译它时它很好。 当我使用 ant compile 任务编译它时,它给出了在其路径中找不到 servlet 库的错误。 这是已知/常见的情况吗?
我试图在 maven-compiler-plugin 中指定另一个版本的 JDK .当-target和 -source参数设置为1.5,一切正常。但是当我尝试使用 1.6 JDK 时,maven 会报
我们的软件之前附带 OpenJDK JRE,但现在我们将附带 Oracle JRE。 之前我们使用 OpenJDK javac 编译器进行编译。我认为现在我们应该使用 Oracle javac 编译器
在大多数现代 IDE 中,您可以设置一个参数来确保 javac 获得足够的堆内存来进行编译。由于不值得在这里讨论的原因,我们暂时与 JBuilder 2005/2006 联系在一起,而且源代码的数量似
我在桌面上的 Notepad++ 中保存了一个名为“first.java”的文件。当我运行 cmd 命令“javac first.java”时,它给了我这个错误。 javac: file not fo
更新: See resolution here. 感谢大家的帮助! 我在尝试使用 Ant 编译项目时遇到错误,它声称“[javac] javac:无效目标版本:7”并导致构建失败。 我在 Mac OS
当我尝试在我的 gwt-maven Projekt 上进行 maven-install 时,我得到了这个错误: [ERROR] Failed to execute goal org.apache.ma
使用 maven 编译时出现编译错误。 [ERROR] COMPILATION ERROR : [INFO] ---------------------------------------------
我正在查看一些内部 javac sun 编译器 API 源代码,并在 Types 类中发现了这一点: public Boolean visitTypeVar(TypeVar var1, Type va
我正在尝试运行 java 应用程序,但出现以下错误, Unable to find a javac compiler; com.sun.tools.javac.Main is not on the c
我有这个类,它是我在从 Java 6 移植到 Java 8 的项目中找到的一些代码的简化: public class Unification { final class Box {}
首先,我要感谢你,并明确地说,我已经在这个问题上苦苦思索了好几天,并在其他类似线程中寻找解决方案,但没有成功。 我们的应用程序负责生成 java 类,其中一些可能在类名(因此文件名)中包含特殊字符,例
以下代码创建了一个Collector,它产生了一个UnmodifiableSortedSet: package com.stackoverflow; import java.util.Collecti
当我用 Maven 编译我的类时遇到问题。堆栈跟踪如下所示: [ERROR] Failure executing javac, but could not parse the error: [ERRO
这个问题在这里已经有了答案: Why Java compiler as distributed as executable and not as JVM bytecode? (1 个回答) 关闭 7
我有一些用 javac 1.8.0_92 编译的代码: public final class Either { // ... private final L l; privat
这个问题在这里已经有了答案: Lombok's access to jdk.compiler's internal packages incompatible with Java-16 (3 个回答)
我是一名优秀的程序员,十分优秀!