我还建议使用某种构建工具(
Ant或
Maven,Ant已经建议,更容易启动)或处理编译的IDE(Eclipse使用增量编译与调和策略,甚至不需要小心按任何“编译”按钮)。
使用Javac
如果你需要尝试一个更大的项目,没有任何适当的构建工具附近,你可以总是使用javac提供的一个小技巧:编译的类名可以在文件中指定。你只需要将文件的名称传递给带有@前缀的javac。
如果您可以在项目中创建所有* .java文件的列表,很容易:
# Linux
$ find -name "*.java" > sources.txt
$ javac @sources.txt
:: Windows
> dir /s /B *.java > sources.txt
> javac @sources.txt
>优点是,这是一个快速和容易的解决方案。
>缺点是每次你创建一个新的源或重命名现有的一个文件,这是一个容易忘记(因此容易出错)和令人讨厌的任务,你必须重新生成sources.txt文件。
使用构建工具
从长远来看,最好使用一个旨在构建软件的工具。
使用Ant
如果创建一个简单的build.xml文件来描述如何构建软件:
您可以通过运行以下命令编译整个软件:
$ ant
>优点是,您使用的是易于扩展的标准构建工具。
>缺点是你必须下载,设置和学习一个额外的工具。请注意,大多数IDE(如NetBeans和Eclipse)对编写构建文件提供了极大的支持,因此您不必在此情况下下载任何内容。
使用Maven
Maven不是那么微不足道的设置和工作,但学习它很好。这是一个伟大的教程start a project within 5 minutes。
>它的主要优点(对我来说),它处理依赖关系,所以你不需要下载任何更多的Jar文件和手动管理,我发现它更有用的建设,包装和测试更大的项目。
>缺点是它有一个陡峭的学习曲线,如果Maven插件喜欢抑制错误:-)另一个事情是相当多的工具也操作与Maven仓库(如Sbt为Scala,Ivy为蚂蚁,Graddle为Groovy )。
使用IDE
现在,什么可以提高您的开发生产力。有一些开源替代品(如Eclipse和NetBeans,我更喜欢前者),甚至是商业版(如IntelliJ),这些都是非常受欢迎和强大的。
他们可以在后台管理项目构建,所以你不必处理所有的命令行的东西。然而,它总是方便,如果你知道什么实际发生在背景中,所以你可以搜索偶然的错误,如ClassNotFoundException。
另外一个注意事项
对于大型项目,总是建议使用IDE和构建工具。前者提高了您的生产力,而后者使得可以使用不同的IDE与项目(例如,Maven可以生成Eclipse项目描述符与一个简单的mvn eclipse:eclipse命令)。此外,具有可以使用单线命令测试/构建的项目易于向新同事或例如连续集成服务器介绍。小菜一碟 :-)