Appbundler和pkgbuild在Catalina下不起作用:尝试安装到系统卷

时间:2019-11-27 00:28:50

标签: java macos-catalina

我有一个用Java编写的应用程序。我在Windows计算机上使用Eclipse创建.jar,并将其传输到Mac。我使用appbundler创建.app目录,并使用pkgbuild创建.pkg安装程序。在升级到Catalina之前,它一直运行良好。

我正在使用从https://github.com/ome/appbundler下载的最新版本的appbundler。这是我的build.xml:

<project name="Stopwatch" default="bundle-Stopwatch" basedir=".">
    <!-- Import environment variables -->
    <property environment="env"/>

    <taskdef name="bundleapp"
    classname="com.oracle.appbundler.AppBundlerTask"
    classpath="lib/appbundler-1.0ea.jar" />

    <target name="bundle-Stopwatch">
        <delete dir="appBundle" failonerror="false"/>
        <mkdir dir="appBundle"/>
        <bundleapp outputdirectory="appBundle"
            name="Stopwatch"
            displayname="Stopwatch"
            identifier="com.intonia.stopwatch.Stopwatch"
            icon="Stopwatch.icns"
            mainclassname="com.intonia.stopwatch.Stopwatch">
           <classpath file="Stopwatch.jar"/>
           <option value="-Xdock:icon=Stopwatch.icns"/>
       </bundleapp>
   </target>
</project>

我跑步

$ ant

创建appBundle/Stoppwatch.app。然后

$ pkgbuild -- root appBundle Stopwatch.pkg

我第一次在查找器中双击Stopwatch.pkg时,它运行完毕,并且该应用程序可以运行,但是它替换了我的开发目录中的副本。要将Stopwatch安装在Applications目录中,必须运行

$ sudo pkgutil --forget com.intonia.stopwatch.Stopwatch

然后,当我再次运行Stopwatch.pkg时,安装程​​序要求输入密码后,它将报告:“此软件包与该版本的macOS不兼容。该软件包正在尝试将内容安装到系统卷中。”

请注意,我上面显示的示例已简化为基本元素。我已经尝试过使用大型,复杂的.jar和小型简单的.jar。我已经尝试过在没有绑定JVM的情况下以及在没有代码签名的情况下进行尝试。我已经能够成功对应用程序进行公证,但是无论是否进行公证,我都能获得完全相同的结果。

我以前曾发表过这样的想法,认为这是公证问题,但显然不是。

其他人是否能够在Catalina下使用带有.jar文件的appbundler和pkgbuild?

0 个答案:

没有答案