如何在没有IDE和多个包的情况下运行和编译java项目?

时间:2016-03-10 19:18:38

标签: java

假设我从github下载了一个项目,它包含以下文件;

  • docs> text.pdf(其中只有一个文件,不重要)
  • SRC
  • README.md

现在让我们说src包含以下文件;

  • 包1
    • class1.java
    • class2.java
    • class3.java
  • 包2
    • class4.java
  • 包装3
    • class5.java
    • main.java(这是一个有主要需要运行但依赖于其他所有内容的那个)

现在我只有上面的内容,如何使用命令行编译和运行它,假设项目没有错误。

4 个答案:

答案 0 :(得分:2)

类似的东西:

cd src
javac package3/main.java
java package.main

答案 1 :(得分:1)

javac package1/*.java 
javac package2/*.java
javac package3/*.java

java package3.main

前3个javac将在这3个包中编译并生成类文件。 最后一行只是运行类文件。

答案 2 :(得分:0)

全部编译取决于您拥有的其他工具。像ant这样的make-like工具有助于处理依赖项和源文件集,但是你仍然需要确保设置CLASSPATH以允许java解释器/运行时查找所有这些类文件。 / p>

另一种选择,通常被认为是更好的解决方案,是创建一个包含所有生成的类文件的jar文件,然后通过执行jar文件来运行应用程序。 jar文件中的清单将指定主类。

我可以理解不想安装IDE只是为了编译你计划运行但不开发的应用程序,但除非你想手动编译每个文件并更新你的CLASSPATH,我建议你使用某种形式的构建工具简化过程。

答案 3 :(得分:0)

以下是javac make类似功能的直观表示。

enter image description here

请注意,由于所有内容都植根于同一个源代码树中,因此您需要做的只是javac p4/Main.java并且它发现它需要编译p1/T.class的类Main需要。它首先通过编译T.class来创建p1/T.java

您还可以-sourcepath-classpath的形式获得其他支持。有关详细信息,请参阅javac documentation