【发布时间】:2010-10-22 02:06:46
【问题描述】:
我发现 java 几乎可以立即启动并运行 - 但 javac 需要几秒钟,而 ant 又让它变慢了。只有几秒钟,但没有它我的编辑-编译-测试循环会更顺畅。 :-)
顺便说一句:我已经在 ant 中使用过 vim 的 ":make"。
有没有办法加快 javac 和/或 ant 的速度?我正在考虑特殊的开关或技巧?或者可能是一个替代的 java 编译器(我在 linux 中使用 1.6)
【问题讨论】:
我发现 java 几乎可以立即启动并运行 - 但 javac 需要几秒钟,而 ant 又让它变慢了。只有几秒钟,但没有它我的编辑-编译-测试循环会更顺畅。 :-)
顺便说一句:我已经在 ant 中使用过 vim 的 ":make"。
有没有办法加快 javac 和/或 ant 的速度?我正在考虑特殊的开关或技巧?或者可能是一个替代的 java 编译器(我在 linux 中使用 1.6)
【问题讨论】:
Eclipse 会为你做这些......但它可能有点像你的问题的“补丁”。
除此之外,您还可以推出自己的编译器插件。有两种方法:
从 ant 中运行 java 编译器(而不是创建新进程)。不确定蚂蚁是否已经这样做了;如果没有,那将为您节省一些时间。详情请看Java 6 compiler API。
在侦听套接字选项的服务器进程中运行 javac。在 ant 中,向进程发送命令行并等待输出返回。节省您一直启动新流程的时间。
尝试使用 eclipse 编译器。与最初的 javac 不同,Eclipse 编译器非常擅长“忽略”错误,因此即使它们包含错误,它也可以生成类文件。这似乎意义不大,但它允许您一直在后台编译。当您进行最后一次保存(将所有内容打包)时,编译器将能够编译其他所有内容,并且只需要查看一个文件。
【讨论】:
Google 找到了这两个(我还没有尝试过)
javac-J-client -J-Xms100m -J-Xmx100m<src>
JBrownie“监控 Java 源代码并自动重新编译任何发现更改的文件”,类似于 Aaron Digulla 的 (2)
【讨论】:
-J-client 选项
我强烈建议您使用适合 Java 的 IDE,因为使用了解您的程序的编辑器可以极大地提高生产力。想想“转到包含光标所在变量/类/字段定义的行”,“重命名这个类和对它的所有引用”,以及所有其他类型的好东西。如果您对调用 Java 所花费的时间感到恼火,那么您可能已经准备好了 :)
【讨论】:
你可能想看看JavaRebel
【讨论】:
我将所有输出文件指向一个我用this utility 创建的虚拟磁盘。它加快了构建速度(尽管没有达到神奇的程度),因为几乎所有内容都在内存中。当进行几乎即时的“干净”构建时,这一点最为明显。
【讨论】: