6

我发现 java 对我来说几乎是立即启动并运行 - 但 javac 需要几秒钟,而 ant 又让它变慢了。只有几秒钟,但没有它我的编辑-编译-测试循环会更顺畅。:-)

顺便说一句:我已经在 ant 中使用过 vim 的 ":make"。

有没有办法加快 javac 和/或 ant 的速度?我正在考虑特殊的开关或技巧?或者也许是一个替代的java编译器(我在linux中使用1.6)

4

5 回答 5

4

Eclipse会为您做到这一点……但对于您的问题,它可能有点大。

除此之外,您可以推出自己的编译器插件。有两种方法:

  1. 从 ant 中运行 java 编译器(而不是创建一个新进程)。不确定蚂蚁是否已经这样做了;如果没有,那将为您节省一些时间。有关详细信息,请查看Java 6 编译器 API

  2. 在侦听套接字上的选项的服务器进程中运行 javac。在 ant 中,向进程发送命令行并等待输出返回。节省您始终启动新流程的时间。

  3. 尝试使用eclipse编译器。与最初的 javac 不同,Eclipse 编译器非常擅长“忽略”错误,因此即使它们包含错误,它也可以生成类文件。这似乎意义不大,但它允许您一直在后台编译。当您进行最后一次保存(包装所有内容)时,编译器将能够编译其他所有内容,并且只需要查看一个文件。

于 2009-04-27T15:00:17.050 回答
3

谷歌找到了这两个(我还没有尝试过)

  1. javac -J-client -J-Xms100m -J-Xmx100m <src>

  2. JBrownie按照 Aaron Digulla 的 (2) 的思路“监控 Java 源代码并自动重新编译任何发现更改的文件”

于 2009-04-28T06:24:23.320 回答
1

我强烈建议使用适合 Java 的 IDE,因为使用了解您的程序的编辑器可以极大地提高生产力。想想“转到包含光标所在变量/类/字段定义的行”,“重命名这个类和对它的所有引用”,以及所有其他类型的好东西。如果您对调用 Java 所花费的时间感到恼火,那么您可能已经准备好了 :)

于 2009-04-27T15:21:59.027 回答
0

你可能想看看JavaRebel

于 2009-04-27T15:00:32.727 回答
0

我将我的所有输出文件指向我使用此实用程序创建的 ramdisk 。它加快了构建速度(尽管没有达到神奇的程度),因为几乎所有内容都在内存中。当进行几乎即时的“干净”构建时,这一点最为明显。

于 2009-04-28T09:01:28.510 回答