我还建议使用某种构建工具(Ant或Maven,已经建议使用Ant,并且更容易上手)或处理编译的IDE(Eclipse使用具有协调策略的增量编译,您甚至不必请务必按任何“编译”按钮)。
使用Javac
如果您需要尝试更大的项目并且附近没有任何合适的构建工具,则可以随时使用一个javac
提供的小技巧:可以在文件中指定要编译的类名。您只需要javac
使用@
前缀将文件名传递给。
如果您可以创建*.java
项目中所有文件的列表,则很简单:
# Linux / MacOS
$ find -name "*.java" > sources.txt
$ javac @sources.txt
:: Windows
> dir /s /B *.java > sources.txt
> javac @sources.txt
- 优点是,这是一种快速简便的解决方案。
- 缺点是,
sources.txt
每次创建新的源文件或重命名现有的文件时,都必须重新生成文件,这很容易忘记(因此容易出错)并且很繁琐。
使用构建工具
从长远来看,最好使用专门用于构建软件的工具。
使用蚂蚁
如果您创建一个build.xml
描述如何构建软件的简单文件:
<project default="compile">
<target name="compile">
<mkdir dir="bin"/>
<javac srcdir="src" destdir="bin"/>
</target>
</project>
您可以通过运行以下命令来编译整个软件:
$ ant
- 好处是您正在使用易于扩展的标准构建工具。
- 缺点是您必须下载,设置和学习其他工具。请注意,大多数IDE(例如NetBeans和Eclipse)都对编写构建文件提供了强大的支持,因此在这种情况下您无需下载任何内容。
使用Maven
Maven的设置和使用并不是那么简单,但是学习它很有意义。这是一个很棒的教程,可以在5分钟内启动一个项目。
- (对我而言)主要优点是它也可以处理依赖关系,因此您无需再下载任何Jar文件并手动管理它们,我发现它对于构建,打包和测试较大的项目更有用。
- 缺点是它的学习曲线很陡峭,并且如果Maven插件喜欢抑制错误:-)另一件事是,很多工具也可以在Maven存储库中运行(例如Sbt用于Scala,Ivy用于Ant,Gradle用于Groovy) 。
使用IDE
现在,什么可以提高您的开发效率。有一些开源替代方案(例如Eclipse和NetBeans,我更喜欢前者),甚至还有商业化的替代方案(例如IntelliJ),它们非常受欢迎且功能强大。
他们可以在后台管理项目建设,因此您不必处理所有命令行内容。但是,如果您知道后台实际发生的情况,那么总是很方便的,这样您就可以找出诸如的偶然错误ClassNotFoundException
。
另一注
对于较大的项目,始终建议使用IDE 和构建工具。前者可以提高您的生产率,而后者则可以在项目中使用不同的IDE(例如,Maven可以使用简单的mvn eclipse:eclipse
命令生成Eclipse项目描述符)。而且,拥有一个可以通过单行命令进行测试/构建的项目很容易介绍给新同事和连续集成服务器。小菜一碟 :-)