是否可以在从javafx maven插件构建的java.runtime文件夹中获取java.exe可执行文件
我正在MacOSX上使用是否可以在从javafx maven插件构建的java.runtime文件夹中获取java.exe可执行文件,java,maven,javafx,javafx-8,maven-plugin,Java,Maven,Javafx,Javafx 8,Maven Plugin,我正在MacOSX上使用JavaFXMaven插件构建一个应用程序。该插件在构建过程中自动在Java.runtime文件夹中创建完整的JRE。但是它里面不包含java.exe 我想在应用程序中启动一个jar,但为此,我还需要在应用程序中启动java可执行文件。如果我将system java bin文件夹中的java可执行文件粘贴到我的应用程序的java runtime文件夹中,我可以启动我的jar(问题得到解决),但我无法将此应用程序启动到mac app store,因为java可执行文件是使用
JavaFXMaven插件构建一个应用程序。该插件在构建过程中自动在Java.runtime
文件夹中创建完整的JRE
。但是它里面不包含java.exe
我想在应用程序中启动一个jar
,但为此,我还需要在应用程序中启动java
可执行文件。如果我将system java bin文件夹中的java
可执行文件粘贴到我的应用程序的java runtime文件夹中,我可以启动我的jar(问题得到解决),但我无法将此应用程序启动到mac app store,因为java
可执行文件是使用开发者ID Application:Oracle America进行代码签名的,它有一个bundle标识符net.java.openjdk.cmd
。这不允许在itunes上上传我的应用程序
有没有办法,在构建过程中,使用javafx maven plugin
我也可以在我的应用程序中获得java可执行文件,而不是从我的应用程序中的系统java复制它,因为我的应用程序具有不同的代码签名。而不是尝试在java中实现依赖于系统的代码,最好使用Java中可用的工具在当前JRE中执行jar。可以创建链接到jar(和任何依赖项)的URLClassLoader。从那里,您可以使用反射从类加载器加载主类,并执行它。除非您需要对操作系统状态进行实际更改,例如执行SUID,否则无需启动新的JRE(在RAM中花费巨大)
如果您需要使用特权操作执行jar,请参阅相关问题:谢谢。我将尝试使用URL类加载器加载我的jar。如果此解决方法有效,我将肯定地发布它