首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Netbeans平台安装程序mac OS X与捆绑包jre (Mac上的私有Jvm )

Netbeans平台安装程序mac OS X与捆绑包jre (Mac上的私有Jvm )
EN

Stack Overflow用户
提问于 2015-04-13 16:14:24
回答 1查看 466关注 0票数 0

我使用jdk 1.8u40开发Netbeans平台应用程序。我想用私有jvm包jre jdk 1.8u40为Mac打包安装程序。我用包Jre为linux和windows创建了一个安装程序,但是Mac os x我不能。我不知道如何在netbeans平台上使用jarbundler来创建Mac Os X的安装程序。有没有其他方法可以捆绑jre for mac应用程序?谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-05-27 18:12:47

不幸的是,这是一个遗漏,可以追溯到一段时间前的NetBeans Installer项目(NBI)。

这里有一个开放的RFE,这篇文章的大部分内容都来自于那个RFE。

事实上,NBI目前(从NB 8.0.2开始)不支持与Mac捆绑的JRE。

为什么会这样,我不知道,但我认为原因是在创建NBI的时候,Mac上捆绑的JRE的概念有点陌生。当时,Mac总是预装了JRE。如今,Mac没有预装JRE,苹果积极鼓励开发人员将私有JRE与应用程序捆绑在一起。事实上,如果您希望在Mac App Store中使用您的应用程序,则必须将私有JRE与您的应用程序捆绑在一起。

基本上有两种方法可以解决这个问题:

  1. 您可以等待RFE被接受和修复。
  2. 自己动手解决吧。

下面,我将重点介绍第二种方法。它涉及到签出NB核心源代码和构建您自己的nbi-engine.jar文件,然后在您的项目中使用该文件,而不是使用平台本身附带的文件。

  1. 从Mercurial的最新NB源代码开始。
  2. 使用你的集成开发环境(NetBeans!)在您刚刚从Mercurial签出的文件中打开位于nbi/engine的项目。一旦打开,它将看起来像这样:

在项目中,

  1. 找到源代码文件:org/netbeans/installer/wizard/components/actions/CreateMacOSAppLauncherAction.java.
  2. To这个文件,您只需添加与同一目录中等效CreateNativeLauncherAction.java文件中相同的代码。您可以在patch file attached to the RFE.
  3. Now重新构建"NBI Engine“项目中找到需要对CreateMacOSAppLauncherAction.java进行的确切更改。结果就产生了一个新的nbi-engine.jar。您需要从该项目中回收nbi-engine.jar文件,并将其放入其他位置。在此之后,您将不再需要"NBI Engine“项目,您可以将其删除。实际上,您可以删除第1步中从Mercurial中签出的所有内容。

就这样。

现在剩下的是弄清楚如何让您的项目使用新生成的nbi-engine.jar文件,而不是NB平台附带的文件。在接下来的文章中,我将为一个基于Maven的NB平台项目解释如何做到这一点。如果你的项目是基于Ant的,那么你只能靠自己了。:-(

在POM文件中进行以下调整:

代码语言:javascript
复制
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>nbm-maven-plugin</artifactId>
    <configuration>
        <userSettings>
            <!-- This will override parameter of the same name set by the MOJO -->
            <nbi.engine.jar>path-to-an-alternative-nbiengine-jar</nbi.engine.jar>
        </userSettings>
    </configuration>
</plugin>

就这样。

您的下一个问题将是如何在Oracle的官方JRE包之外为Mac创建JRE包。但这不是你问的问题。:-)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29600720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档