我已经看过几篇在Java 9中简要提到自包含应用程序的在线演示文稿,但我有一个问题需要我解决.

使用新模块系统,您现在只允许包含运行应用程序所需的最少代码.但是,希望运行应用程序的系统是否仍需要JRE,或者是否可以包含在程序中的基本模块中?

我怀疑它是后者,因为下载最新版Java的页面(here)仍显示版本8_151.

TL; DR – 使用Java 9,是否可以创建一个可以在没有安装JRE / Java的系统上执行的自包含可执行文件?

解决方法:

JLINK

是的,这可能是with jlink(JEP 282),但是您的所有代码和依赖项都需要是模块化JAR(即带有module-info.class的JAR).它的工作原理如下:

jlink

--module-path $JAVA_HOME/jmods:mods

--add-modules your.app

--launcher launch-app=your.app

--output your-app-image

详细:

> –module-path列出包含模块的文件夹 – 这需要包含您要使用的JDK附带的平台模块(在$JAVA_HOME / jmods中)和您的应用程序模块(mods)

> –add-modules命名您希望运行时映像包含的模块 – 包含其所有(它们的)传递依赖项

> – 启动器是可选的,但非常方便;它创建了一个特定于操作系统的启动器(例如Windows上的.bat),它具有启动指定模块的给定名称(launch-app)(your.app;在这种情况下,假设为其定义了主类)

> –output指定创建运行时映像的位置

标签:java-module,java,java-9,self-contained

来源: https://codeday.me/bug/20191004/1854146.html

java内置_自包含的应用程序,内置Java相关推荐

  1. java面试题_阿里大厂流出的数百道 Java 经典面试题

    BAT 常问的 Java基础39道常见面试题 1.八种基本数据类型的大小,以及他们的封装类 2.引用数据类型 3.Switch能否用string做参数 4.equals与==的区别 5.自动装箱,常量 ...

  2. java ui调试_如何使用 IBM i System Debugger 调试 Java 程序

    当在 IBM i 上使用 Java 时,您可以使用 Qshell Interpreter 或者 CL 命令提供的 Java tools,在 Qshell 环境和 IBM i 环境上进行与 Java 开 ...

  3. java输入输出流_金九银十准备季:Java异常+Java IO与NIO面试题(含答案)

    写在前面:2020年面试必备的Java后端进阶面试题总结了一份复习指南在Github上,内容详细,图文并茂,有需要学习的朋友可以Star一下! GitHub地址:abel-max/Java-Study ...

  4. java循环输入_【图文+视频新手也友好】Java一维数组详细讲解(内含练习题答案+详解彩蛋喔~)...

    [新手友好型视频+图文] 全面讲解Java一维数组(内含带答案和讲解的练习题彩蛋喔) 看完即上手!更有详解版练习题来帮你加深印象~~ 一.视频讲解 一维数组详解https://www.zhihu.co ...

  5. java 编写代码_如果您在2016年编写过Java代码-这是您不容错过的趋势

    java 编写代码 2016年最有趣的Java相关主题 关于代码,有很多热门话题,而要跟上所有事情,这是一项全职的工作. 如果您想知道如何从谷壳中分离出小麦,我们已经为您完成了工作. 在下面的文章中, ...

  6. java jni编译_从源码编译Android系统的Java类库和JNI动态库的方法

    利用源码编译Android系统Java类库 1.编写Java项目和Android.mk文件 ├── Android.mk └── src └── com └── lhw └── framework └ ...

  7. java教程 重庆大学_重庆大学2020年5月课程《Java程序设计》答卷

    2020年5月课程考试<Java程序设计>答卷+ U" n6 ^) R2 j* \ 1.[单选题]如果String s1="Chongqing",则运行代码S ...

  8. java idea 模块_使用IntelliJ IDEA搭建多maven模块JAVA项目

    一.新建项目和模块 步骤: 1. 新建一个项目,因为maven管理jar包非常方便,故此处建立一个maven项目:New Project->Maven->(Create from arch ...

  9. java 实现超时_如何实现带有超时的Runnable? - java

    我目前有一个相当简单的SSL服务器/客户端项目,其中涉及标准Java后端和Android前端.与客户端发送数据后,我想尝试从服务器读取响应.但是,我遇到了一个小问题.服务器并不总是响应,因此我不得不以 ...

最新文章

  1. 产品经理跳槽面试大揭秘……
  2. pythonfor输入多个数字_我一天学会了python最基础的编程
  3. 区块链技术指南笔记(二):区块链技术
  4. yii3正式版什么时候发布_华为mate50pro什么时候发布
  5. m个苹果放入n个盘子问题
  6. K8S的HelloWorld之旅
  7. 对比损失的PyTorch实现详解
  8. java开发就业困难吗_就业困难期,他们面临着幸福的烦恼
  9. thinkphp5中的where写法
  10. 学习如何在matlab用带通滤波器进行滤波
  11. 竖排书A5双面打印设置指南
  12. 多层json字符串转map_java json字符串转map集合递归嵌套
  13. 计算机遥感毕设选题,遥感硕士毕业论文题目
  14. 常见端口号服务用途及查看端口
  15. Simulink 环境基础知识(五)--编程建模基础知识
  16. 什么是下一代防火墙NGFW(Next Generation Firewall)?
  17. [转载]Cairo 图形指南[转载]
  18. 项目管理:项目开发类型、模型、流程以及案例介绍
  19. nginx源码的安装与磁盘分区
  20. OSChina 周四乱弹 ——程序员要赚多少钱才能让妻子保持温柔和美丽

热门文章

  1. 使用 EasyPOI 优雅导出Excel模板数据(含图片)
  2. 面试:数据量很大,分页查询很慢,有什么优化方案?
  3. 10分钟搞定 Java 并发队列
  4. 如何避免死锁,我们有什么套路可循?
  5. 深度学习图像搜索与识别
  6. 开源OCR文本检测器,基于TextBoxes++和RetinaNet
  7. 海思3559移植yolov3
  8. pyav Invalid data found when processing input (libav.h264: no frame!)
  9. python ord()与chr()用法以及区别
  10. No module named 'urlparse'