编译 Java 个文件和外部库 Linux

Compile Java Files And External Lib Linux

我在 IntelliJ 中有一个 Java 项目可以成功构建和执行。 现在我想打包代码(即打包它以便它可以在 linux 环境中执行)。

目录结构为:

../parser/src/com/test1/java
bash-4.2$ ls -R
external  Jparser  Main.java

./external:
java-json.jar

./Jparser:
JsonParser.class  JsonParser.java

到目前为止我已经执行了javac -cp ../external/java-json.jar Parser.java

下一步是什么?是 Parser.java 到主路径的 class 路径吗?

编辑: 我特别有兴趣学习如何在命令行中执行上述操作,以便更好地理解 Java。我喜欢 gradle、maven、IDE,但它们都有各种黑盒魔法,这通常很方便,但让初学者认为他们知道 Java 构建....

不清楚 Jparser 是主模块中的包,还是子模块目录。

  1. 如果这是您唯一模块中的一个包,那么

javac -cp ../external/java-json.jar Main.java Jparser/JsonParser.java

jar cvf my.jar Main.class JsonParser

  1. 如果这是一个模块,那么我会将 Main.java 和 JsonParser.java 复制到另一个目录,然后

javac -cp ../external/java-json.jar *.java

jar cvf my.jar *.class

然后到运行吧:java -cp my.jar:../external/java-json.jar Main

组织构建的更好方法是使用 Maven https://maven.apache.org/ or Ant http://ant.apache.org/ IDEA 可以使用 Build->Generate Ant Build.

生成 Ant 构建