编译巨大的.java文件时Eclipse会挂起

时间:2013-07-16 05:29:02

标签: java eclipse protocol-buffers

在我正在研究的java项目中,我需要使用一些非常大的protobufs。 protoc生成的.java文件之一大约为8.3 MB。当我在eclipse中将该文件添加到我的项目时,它会无限期地挂起。

有什么方法可以解决这个问题吗?也许用javac预编译那个文件并告诉eclipse不要费心去构建它?

1 个答案:

答案 0 :(得分:0)

在Maven中将Javac -target 1.7从Javac -target 1.7移到1.8时,我也遇到这个问题,编译我的项目需要10多分钟。

java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

我发现这是Oracle Hotspot JDK编译器中的错误,因为我也有IBM SDK,并且项目的编译速度非常快(不到一分钟)。

java version "1.8.0"
Java(TM) SE Runtime Environment (build pwi3280sr2-20151023_01(SR2))
IBM J9 VM (build 2.8, JRE 1.8.0 Windows 7 x86-32 20151019_272764 (JIT 
enabled, AOT enabled)
J9VM - R28_Java8_SR2_20151019_2144_B272764
JIT  - tr.r14.java_20151006_102517.04
GC   - R28_Java8_SR2_20151019_2144_B272764
J9CL - 20151019_272764)
JCL - 20151022_01 based on Oracle jdk8u65-b17

因此,希望这可以帮助其他在为目标1.8挂起或花很多时间完成目标1.8的源代码时遇到问题的开发人员。最好使用IBM SDK Java编译器。

编辑1.

IBM Sdk现在是开源的,称为OpenJ9,可以在以下URL的Windows 64位上获得: jdk8u181-b13_openj9-0.9.0

这是免费的,并且具有与IBM SDK 8 for Windows相同的性能,后者不再可免费下载。

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
Eclipse OpenJ9 VM (build openj9-0.9.0, JRE 1.8.0 Windows 7 amd64-64-Bit 
Compressed References 20180813_153 (JIT enabled, AOT enabled)
OpenJ9   - 24e53631
OMR      - fad6bf6e
JCL      - a05586ac based on jdk8u181-b13)