2011-01-26 148 views
33

我是java命令行构建的新手。在eclipse中,我只需要在示例项目中编写源代码,并且它会自动生成。如何在命令行中编译多个java源文件

我知道 javac file1.java -----> file1.class 如果file1.java是唯一的源文件,我可以用java file1来运行它。

但是,如果我有2个源文件,file1.java file2.java

我怎样才能构建程序?

非常感谢!

+0

这是否意味着这两个文件都有主要方法或应用程序有两个入口点? – 2017-06-07 12:25:02

回答

88

尝试以下操作:

javac file1.java file2.java 
+0

谢谢,它工作。 – 2011-01-26 05:00:08

+42

没问题。您应该将其标记为'已接受' – ryanprayogo 2011-01-26 05:03:39

57

,或者您可以使用以下方法来编译当前目录中的所有Java源文件..

javac *.java 
3

下面是另一个例子,编译Java文件在一个嵌套的目录中。

我试图从命令行构建它。这是'gradle'的例子,它具有依赖'commons-collection.jar'。欲了解更多信息,请参阅'gradle: java quickstart'示例。 - 当然,你会使用'gradle'工具来构建它。但我想扩展这个例子,对于一个嵌套的java项目,与一个依赖jar。

注:您需要为这次“gradle这个二进制或源”分布,示例代码是:“样品/ JAVA /快速启动”

% mkdir -p temp/classes 
% curl --get \ 
    http://central.maven.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar \ 
     --output commons-collections-3.2.2.jar 

% javac -g -classpath commons-collections-3.2.2.jar \ 
    -sourcepath src/main/java -d temp/classes \ 
     src/main/java/org/gradle/Person.java 

% jar cf my_example.jar -C temp/classes org/gradle/Person.class 
% jar tvf my_example.jar 
    0 Wed Jun 07 14:11:56 CEST 2017 META-INF/ 
    69 Wed Jun 07 14:11:56 CEST 2017 META-INF/MANIFEST.MF 
519 Wed Jun 07 13:58:06 CEST 2017 org/gradle/Person.class 
0

或者你可以只使用javac file1.java,然后还用之后的javac file2.java