我在java中理解你被强制为每个类的一个文件。
所以,如果我有类似的课程:
/my_project/main.java
/my_project/classes/user.java
/my_project/classes/other.java
我的main.java引用了用户和其他文件,如何通过命令行编译?
如果我要引用外部.jar,我将它们放在一个特定的文件夹中,我怎么能在编译中包含它? (或者是否有一般的地方我可以把它们放在自动拾取的地方,就像python一样)
答案 0 :(得分:2)
要编译,您需要从my_project文件夹中指定每个源文件:
javac classes/user.java classes/other.java main.java
您还可以使用-cp选项为类路径指定jar文件:
javac -cp myjarfile.jar main.java
您可能还需要摆弄-cp标志以确保您的classes文件夹位于类路径中。
答案 1 :(得分:2)
首先,使用小写字母开始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
答案 2 :(得分:0)
除上述答案外,您还可以使用类似Apache Ant的内容,以便更轻松地配置构建(如果它变得复杂)。
答案 3 :(得分:0)
查看documentation for javac。您可以传递多个源文件,也可以指定源目录。