0

I am trying to generate a JRE using jlink.

I do so by executing:

/Library/Java/JavaVirtualMachines/temurin-18.jdk/Contents/Home/bin/jlink
--verbose --output /Users/alex/sources/project/target/runtime
--module-path /Users/alex/sources/project/target/mods
--add-modules java.desktop,java.base,java.logging,java.xml,java.scripting,java.compiler,java.instrument,jdk.unsupported,javafx.base,javafx.graphics,javafx.controls,javafx.fxml,java.sql,java.naming
--strip-native-commands
--no-header-files
--no-man-pages
--strip-debug
--compress=1

this is the generated runtime image:

out
├── conf
│   ├── logging.properties
│   ├── net.properties
│   ├── security
│   │   ├── java.policy
│   │   ├── java.security
│   │   └── policy
│   │       ├── README.txt
│   │       ├── limited
│   │       │   ├── default_US_export.policy
│   │       │   ├── default_local.policy
│   │       │   └── exempt_local.policy
│   │       └── unlimited
│   │           ├── default_US_export.policy
│   │           └── default_local.policy
│   └── sound.properties
├── legal
│   ├── java.base
│   │   ├── ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION
│   │   ├── LICENSE
│   │   ├── aes.md
│   │   ├── asm.md
│   │   ├── c-libutl.md
│   │   ├── cldr.md
│   │   ├── icu.md
│   │   ├── public_suffix.md
│   │   └── unicode.md
│   ├── java.compiler
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.datatransfer
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.desktop
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   ├── LICENSE -> ../java.base/LICENSE
│   │   ├── colorimaging.md
│   │   ├── freetype.md
│   │   ├── giflib.md
│   │   ├── harfbuzz.md
│   │   ├── jpeg.md
│   │   ├── lcms.md
│   │   ├── libpng.md
│   │   ├── mesa3d.md
│   │   └── xwd.md
│   ├── java.instrument
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.logging
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.naming
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.prefs
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.scripting
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.security.sasl
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.sql
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.transaction.xa
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   └── LICENSE -> ../java.base/LICENSE
│   ├── java.xml
│   │   ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│   │   ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│   │   ├── LICENSE -> ../java.base/LICENSE
│   │   ├── bcel.md
│   │   ├── dom.md
│   │   ├── jcup.md
│   │   ├── xalan.md
│   │   └── xerces.md
│   └── jdk.unsupported
│       ├── ADDITIONAL_LICENSE_INFO -> ../java.base/ADDITIONAL_LICENSE_INFO
│       ├── ASSEMBLY_EXCEPTION -> ../java.base/ASSEMBLY_EXCEPTION
│       └── LICENSE -> ../java.base/LICENSE
├── lib
│   ├── classlist
│   ├── fontconfig.bfc
│   ├── fontconfig.properties.src
│   ├── jrt-fs.jar
│   ├── jspawnhelper
│   ├── jvm.cfg
│   ├── libawt.dylib
│   ├── libawt_lwawt.dylib
│   ├── libfontmanager.dylib
│   ├── libfreetype.dylib
│   ├── libinstrument.dylib
│   ├── libjava.dylib
│   ├── libjavajpeg.dylib
│   ├── libjawt.dylib
│   ├── libjimage.dylib
│   ├── libjli.dylib
│   ├── libjsig.dylib
│   ├── libjsound.dylib
│   ├── liblcms.dylib
│   ├── libmlib_image.dylib
│   ├── libnet.dylib
│   ├── libnio.dylib
│   ├── libosx.dylib
│   ├── libosxapp.dylib
│   ├── libosxsecurity.dylib
│   ├── libosxui.dylib
│   ├── libprefs.dylib
│   ├── libsplashscreen.dylib
│   ├── libverify.dylib
│   ├── libzip.dylib
│   ├── modules
│   ├── psfont.properties.ja
│   ├── psfontj2d.properties
│   ├── security
│   │   ├── blocked.certs
│   │   ├── cacerts
│   │   ├── default.policy
│   │   └── public_suffix_list.dat
│   ├── server
│   │   ├── libjsig.dylib
│   │   └── libjvm.dylib
│   ├── shaders.metallib
│   └── tzdb.dat
└── release

What I am missing here is bin/java. How do I start Java using this runtime?

kerner1000
  • 3,382
  • 1
  • 37
  • 57
  • 1
    From `jlink --list-plugins`: "--strip-native-commands Exclude native commands (such as java/java.exe) from the image." If you want it included, don't exclude it. – dave_thompson_085 Mar 08 '23 at 20:10

0 Answers0