繁体   English   中英

Java和不使用IDE时进行编译

[英]Java and compiling when not using a IDE

我在Java中了解到,每个类都被强制放入一个文件中。

因此,如果我有类似的课程:

/my_project/main.java
/my_project/classes/user.java
/my_project/classes/other.java

我的main.java引用了用户和其他文件,我将如何通过命令行对其进行编译?

如果要使用我正在引用的外部.jar,并将它们放在特定的文件夹中,我该如何在编译时也将其包括在内? (或者是否有一个一般的地方,我可以将它们放置在它们将被自动拾取的地方,例如python这样做的方式)

要进行编译,您需要从my_project文件夹中指定每个源文件:

javac classes/user.java classes/other.java main.java

您还可以使用-cp选项为类路径指定jar文件:

javac -cp myjarfile.jar main.java

您可能还需要弄弄-cp标志,以确保您的classes文件夹在classpath中。

首先,使Java类以小写字母开头是不好的样式。

只有公共类需要在其自己的文件中,但是您可以根据需要向同一文件中添加任意多个包私有类(尽管这被认为是较差的样式)。

也就是说,编译代码的最简单方法是:

javac /my_project/main.java /my_project/classes/user.java /my_project/classes/other.java

无论如何,正确的代码布局应是使类位于与它们的包相匹配的目录结构中。

编辑 :这里有一个相当不错的约定解释, http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter05/packagesImport.html

除了上述答案之外,您还可以使用Apache Ant之类的工具 ,以简化构建的配置(如果复杂)。

查看javac文档 您可以传递多个源文件,或指定源目录。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM