eclipse neon
我已经开始修改自定义Java二进制运行时映像文件。 映像文件是打包为运行时平台的模块的配置。 基本上,默认映像包含组成Java运行时的所有内容。 自定义图像可以包含该图像的一些子集。
例如,我创建了一个仅包含“ compact 3”概要文件的映像,在Eclipse首选项中配置了JRE,并将其指定为Java项目上的JRE系统库 。 Eclipse Neon完全按预期处理自定义配置文件。
请注意项目中JRE系统库下模块的简化列表,以及稍微简单的“ 模块依赖关系”视图(与所有模块的相似但更令人不安的视图相比)。
创建自定义图像很容易。 只需在Java 9 + Jigsaw构建中使用jlink命令。 我使用如下命令创建了一个自定义映像,其中包含运行Eclipse所需的内容。
$ bin/jlink --modulepath jmods/ --addmods java.desktop,java.logging,java.sql --output /home/java9/runtimes/desktop
这将创建名为Desktop的目录,其中包含运行Java的已定义子集(即java.desktop
, java.logging
和java.sql modules
)所需的所有内容。 我对Eclipse需要java.desktop
模块感到失望。 我曾希望我可以在图像中不包含Swing和AWT的情况下逃脱,但是在Eclipse平台中至少有少量对AWT类的引用,要包括它们,我需要引入整个桌面模块。
我可能缺少一个模块,因为我还没有涉及所有Eclipse功能的所有方面。 当遇到它们时,我通过解决ClassNotFoundException
了这一点。 如果拉入源代码,Eclipse将在识别缺少的模块方面更有用。 jdeps实用程序也可能会有所帮助。
请注意,为了进行调试,您需要在映像中添加jdk.jdwp.agent
模块,以便调试器可以实际连接到运行时。
生成的图像文件(〜40MB)大约是完整JDK图像(〜140MB)的30%,是Java SE图像文件(〜67MB)的60%。 每种配置的运行时二进制文件和资源大小大致相同(在我的Fedora 22系统上约为180MB),但是根据所包含的模块而有所不同:我的desktop
配置包括一些库和字体。例如,未包含在compact3
配置中。
我不太确定这对于在自定义Java 9映像上运行Eclipse意味着什么,但是很显然,借助Java 9的早期Beta对Eclipse Neon的支持 ,Eclipse IDE已经在帮助您方面做得非常好使用Java 9编写普通的Java应用程序。
请注意,我在JDK 9 + Jigsaw上落后了几个版本,因此我的文件大小数字可能有点虚假。 在下一部分中,我将更新为最新版本。
翻译自: https://www.javacodegeeks.com/2015/12/running-eclipse-neon-custom-java-9-image.html
eclipse neon