在我正在处理的 java 项目中,我需要使用一些非常大的 protobuf。protoc 生成的 .java 文件之一大约为 8.3 MB。当我在 Eclipse 中将该文件添加到我的项目时,它会无限期地挂起。
有没有什么办法解决这一问题?也许用 javac 预编译该文件并告诉 eclipse 不要费心构建它?
在我正在处理的 java 项目中,我需要使用一些非常大的 protobuf。protoc 生成的 .java 文件之一大约为 8.3 MB。当我在 Eclipse 中将该文件添加到我的项目时,它会无限期地挂起。
有没有什么办法解决这一问题?也许用 javac 预编译该文件并告诉 eclipse 不要费心构建它?
在 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)