编译Java文件和外部Lib Linux

时间:2017-07-31 18:52:44

标签: java external javac

我在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的主路径吗?

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

1 个答案:

答案 0 :(得分:0)

目前尚不清楚Jparser是否是主模块中的包,或者它是子模块目录。

  1. 如果这是您唯一的模块中的包,那么
  2. javac -cp ../external/java-json.jar Main.java Jparser/JsonParser.java

    jar cvf my.jar Main.class JsonParser

    1. 如果这是一个模块,那么我将Main.java和JsonParser.java复制到另一个目录然后
    2. 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/或Ant http://ant.apache.org/ IDEA可以使用Build->Generate Ant Build生成Ant构建。