Java 使用启动器运行应用程序时,是否可以获取jlink映像的位置?
例如,以下是输出的jlink图像:Java 使用启动器运行应用程序时,是否可以获取jlink映像的位置?,java,jlink,Java,Jlink,例如,以下是输出的jlink图像: ├── bin │ ├── java │ ├── keytool │ └── launcher ├── conf │ ├── net.properties │ ├── sdp │ └── security ├── include │ ├── classfile_constants.h │ ├── jni.h │ ├── jvmticmlr.h │ ├── jvmti.h │ └── linux ├── legal │
├── bin
│ ├── java
│ ├── keytool
│ └── launcher
├── conf
│ ├── net.properties
│ ├── sdp
│ └── security
├── include
│ ├── classfile_constants.h
│ ├── jni.h
│ ├── jvmticmlr.h
│ ├── jvmti.h
│ └── linux
├── legal
│ └── java.base
├── lib
│ ├── classlist
│ ├── jexec
│ ├── jrt-fs.jar
│ ├── jspawnhelper
│ ├── jvm.cfg
│ ├── libjava.so
│ ├── libjimage.so
│ ├── libjli.so
│ ├── libjsig.so
│ ├── libnet.so
│ ├── libnio.so
│ ├── libverify.so
│ ├── libzip.so
│ ├── modules
│ ├── security
│ ├── server
│ └── tzdb.dat
├── man
│ └── man1
└── release
在bin
dir中,我有launcher
文件,它将执行我的模块化Java应用程序
我的计划是向输出的jlink图像目录添加更多目录,如设置
,工作
等。用户只需将此图像作为zip文件获取,并在解压后使用启动器
文件来运行我的应用程序
问题是,我不知道如何访问自定义添加的目录(例如设置
,工作
,等等),因为用户可以在任何地方解压缩此图像。如果我能找到这张照片的位置,一切都会很好。也许有一种方法可以确定运行我的程序的java可执行文件的位置(因为它只是bin
目录中的java可执行文件)?我不确定
有什么建议吗?您可能可以获得JAR/类文件的位置。考虑到文件夹结构已知,这就足够了吗?我相信是的。但是我不相信在使用jlink时可以获得这些信息?但是。。。你真的试过了吗?作为普通模块运行与在jlink环境中运行时的输出是什么?因为启动器不是二进制的a la eclipse rcp;这只是一个调用java的脚本。是的,当然。获取类的路径时,它会给我jrt路径代码>