我已经开始修改自定义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.desktopjava.loggingjava.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

在自定义Java 9映像上运行Eclipse Neon相关推荐

  1. eclipse neon_在自定义Java 9映像上运行Eclipse Neon

    eclipse neon 我已经开始修改自定义Java二进制运行时映像文件. 映像文件是打包为运行时平台的模块的配置. 基本上,默认映像包含组成Java运行时的所有内容. 自定义图像可以包含该图像的一 ...

  2. 在一个Java版本上运行Eclipse IDE,但在另一个Java版本上运行

    Java™开发人员 (和其他Java开发人员变体)的Eclipse IDE本身就是用于构建Java应用程序的Java应用程序. 这种关系可能会让您的大脑有些奇怪. Eclipse IDE几乎完全用Ja ...

  3. big sur java home_无法在macOS Big Sur上运行Eclipse

    我无法在macOS Big Sur开发人员Beta上运行eclipse,但收到一条错误消息,指出"无法创建Java虚拟机".有什么办法可以解决错误 我正在运行的Java版本: 解决 ...

  4. 自定义android模拟器,在模拟器上运行自定义Android ROM

    我建立了一个基于AOSP的自定义ROM(Nexus 6的7.0),我想将这个ROM与SDK模拟器一起使用.我相信这个版本的午餐组合是'aosp_x86_64-eng' 应该适用于SDK模拟器.但是,我 ...

  5. java flink项目_IDEA上运行Flink任务的实战教程

    欢迎访问我的GitHub 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: IDEA是常用的IDE,我们编写的flink任务代码如果能直接在ID ...

  6. 微软 azure_在Microsoft Azure上运行Eclipse MicroProfile

    微软 azure 在本文中,我将通过展示如何在Microsoft Azure Web Apps for Containers中执行操作来跟踪有关在Oracle Cloud中运行Eclipse Micr ...

  7. 在Microsoft Azure上运行Eclipse MicroProfile

    在本文中,我将通过展示如何在Microsoft Azure Web Apps for Containers中执行操作来跟踪有关在Oracle Cloud中运行Eclipse MicroProfile应 ...

  8. mysql怎么生成可执行文件_查询mysql数据库的java程序在myeclipse上运行正常,但生成可执行文件后查询不出结果。问题出在哪儿呢?...

    展开全部 你所说的可执行文件,就是jar包吗?e69da5e6ba903231313335323631343130323136353331333337613164 自己生成的jar文件,执行需要指明所 ...

  9. java跑到linux上,Java程序在Linux上运行虚拟内存耗用很大

    突然集群的2个节点挂了,通过top查看, 虚拟内存22G, 通过 pmap -x 8 | grep anon 一大堆64M Linux下glibc的内存管理机制用了一个很奇妙的东西,叫arena.在g ...

最新文章

  1. 怎么快速学好php,学习编程的快速高效方法
  2. [编译环境] pkg-config for mac 安装
  3. linux 简介各发行版
  4. 在Vue组件中获取全局的点击事件
  5. 归并排序相关题目(待编辑)
  6. spring -mvc 将对象封装json返回时删除掉对象中的属性注解方式
  7. 《金色梦乡》金句摘抄(四)
  8. 计算机WIN7动态硬盘分区,win7硬盘分区教程
  9. Linux修改文件句柄数与vm.max_map_count参数
  10. 【正版软件】Virtual Display Manager 虚拟显示器布局配置管理软件
  11. 【视频音效素材】火遍全网的2000款热门短视频搞笑剪辑素材+经典音效包素材来了
  12. mocha.opts配置文件
  13. Python爬虫:老兵不死,用数据纪念2019男篮世界杯
  14. Python u,b,r前缀的作用及应用
  15. 取十六进制的后两位数、中间两位数,以及高位数
  16. 国内首部《数字货币词典》在新莫干山会议上启动,巴比特智库担任主编单位...
  17. 笔记本怎么重装系统win11
  18. 回溯法----图的着色问题
  19. pc机未连接手机ANDroid,安卓手机连接电脑没显示的解决教程简述
  20. 2017、2018年中国大数据发展趋势和展望解读

热门文章

  1. epoll 浅析以及 nio 中的 Selector
  2. 什么样的事才是有意义的
  3. 使用相对长度单位rem布局网页内容
  4. 两路语音 两路计算机数据综合,脉冲编码调制解调实验摘要.doc
  5. linux跑循环脚本占内存,Linux下实现脚本监测特定进程占用内存情况
  6. 转:SparkConf 配置的用法
  7. java日期时间转日期_Java时间和日期指南
  8. 突破极限–如何使用AeroGear Unified Push for Java EE和Node.js
  9. jboss maven_使用Maven配置JBoss / Wildfly数据源
  10. 图片大小 媒体大小自适应_自适应堆大小