3

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

有没有什么办法解决这一问题?也许用 javac 预编译该文件并告诉 eclipse 不要费心构建它?

4

1 回答 1

0

在 Maven 中从 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 获取适用于 64 位的 Windows: 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)
于 2018-09-05T16:32:55.193 回答