当前位置: 首页 > 面试题库 >

带有应用捆绑器的Jar to Mac OSX App Bundle

倪鸿禧
2023-03-14
问题内容

我正在尝试使用将.jar捆绑到MacOSX应用程序捆绑中app bundler
我正在关注本教程。

它说要lib在高级项目目录中添加一个文件夹,但是我不知道这意味着什么。我一直在到处寻找它,但是我找不到它。这是我唯一的问题,有人知道吗?

编辑:

这是我的build.xml文件:

<project name="Rage Mage" basedir=".">
<taskdef name="ragemage"
         classname="com.oracle.appbundler.AppBundlerTask"   
         classpath="lib/appbundler-1.0.jar" />

<target name="bundle-RageMage">
    <delete dir="appBundle" failonerror="false"/>
    <mkdir dir="appBundle"/>
    <bundleapp outputdirectory="bundle"
        name="Rage Mage"
        displayname="Rage Mage"
        icon="res/icon.icns"
        identifier="ragemage.src.Window"
        mainclassname="ragemage.src.Window">
        <classpath file="dist/ragemage_1.1.1.jar" />
    </bundleapp>
</target>

谢谢!


问题答案:

好吧,所以,经过一番游戏之后,这就是我的理解…

  • 下载Java Application Bundler并将其放置在lib项目目录中。您将需要创建此目录…
  • 在您的项目目录中创建一个新的Ant脚本,随时随地对其进行命名…此外,请花一些时间阅读AppBundler任务文档

蚂蚁脚本应基于以下框架…

<project name="ButtonDemo" default="bundle-buttonDemo" basedir=".">        
    <taskdef name="bundleapp"
             classname="com.oracle.appbundler.AppBundlerTask"   
             classpath="lib/appbundler-1.0.jar" />
    <!-- See the lib reference here, this is why you need to use the lib directory! -->

    <target name="bundle-buttonDemo">
        <delete dir="appBundle" failonerror="false"/>
        <mkdir dir="appBundle"/>
        <bundleapp outputdirectory="appBundle"
            name="ButtonDemo"
            displayname="Button Demo"
            identifier="components.ButtonDemo"
            mainclassname="components.ButtonDemo">
            <!-- The following is important and should point to your build -->
            <classpath file="dist/ButtonDemo.jar" />
            <!-- You can have multiple instance of classpath if you 3rd party or
                 dependent jars in different locations -->
        </bundleapp>
    </target>
</project>
  • 建立你的项目
  • 使用(类似)运行ant脚本 ant -f {You App Bundler script}

在这种情况下,应用程序捆绑包ButtonDemo.app将在appBundle目录中创建。如果可以的话,浏览的内容,ButtonDemo.app/Contents/Java并确保所有必需的Jar文件都在其中…

捆绑愉快!

根据更新的build.xml文件进行更新

1- 标签未default指定目标project。将此视为您的“主类”或“主”方法,没有,蚂蚁不知道您要运行什么…

<project name="Rage Mage" basedir="." default="bundle-RageMage">

2- nametaskdef是显著,你用它在任何脚本,以确定当它击中你的标记参考蚂蚁应该做些什么?

因此,根据您的示例,您需要将的名称taskdef从更改ragemagebundleapp或将bundleapp标记更改为ragemage

要么改变这个…

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

或这个(在目标中bundle-RageMage

<ragemage outputdirectory="bundle"
    name="Rage Mage"
    displayname="Rage Mage"
    icon="res/icon.icns"
    identifier="ragemage.src.Window"
    mainclassname="ragemage.src.Window">
    <classpath file="dist/ragemage_1.1.1.jar" />
</ragemage>

就个人而言,我将其保留为bundleapp,但这就是我…

3- deletemkdiroutputdirectory属性bundleapp都与…

<delete dir="appBundle" failonerror="false"/>
<mkdir dir="appBundle"/>
<bundleapp outputdirectory="bundle"...

要么,让他们全部appBundlebundle,每次你想要什么?

4-您的主要班级不太可能出现ragemage.src.Window并且可能会成为Window



 类似资料:
  • 正在下载.../DLL的/Dotnetzip.dll(458 KB)下载对象时出错:.../DLL的/Dotnetzip.dll(7DD20A2):Smudge错误:下载错误.../DLL的/Dotnetzip.dll(7DD20A2291B05323BBA04BE4AE656D7635AE5E68A5A6FA2B9F86E27841846A31):批处理请求:缺少协议:“C:/...bundle

  • 我刚刚启动了一个新的应用程序,但当我点击欢迎登船页面上的“关于您的应用程序的环境”链接时,会出现这个错误。 启动应用程序时出错当Pow试图运行时,您的Rack应用程序引发了异常。 Bundler::,但找不到任何源代码 我的应用正在运行: 轨道3.2。6 Ruby 1.9。3p194 Rubygems 1.8。24 RVM 1.14。5 战俘0.4。0 我发现了类似的问题,问题在于如何让乘客安静下

  • 我编写了一个定制的NiFi处理器,它使用一些Hadoop类,处理流文件,并在Avro之间序列化流文件。 处理器的pom.xml文件如下所示: 因为我已经将标记为,所以它不会绑定在生成的NAR文件中。现在,我可以做一个快速修复,完全删除作用域并创建NAR,但NiFi会抱怨next class not found错误。 我想知道:

  • 我正试图发布我的代号为One的Android内置应用程序,但在尝试上传新版本(发布apk或aab)时,我被困在谷歌Play控制台上。 从2021年8月1日起,新应用需要“应用捆绑包”。我的应用程序是旧版本的更新,所以我(必须)使用现有的keystore.ks文件。我不清楚更改为使用应用程序包(播放应用程序签名)的步骤,因为它们指的是Android Studio或gradle或其他什么。 如何为代号

  • 问题内容: 我的要求是使用hibernate映射各种数据库(尤其是SQL Server,MySQl和Postgres);从db记录创建一个xml文件。 对于hibernate,我正在使用JAssist在运行时创建hbm文件和pojos。我的代码很棒,为了进一步模块化,我为每个数据库实现了片段捆绑包,以便我的主机捆绑包可以处理运行时类的创建并将其添加到类加载器,hbm文件创建逻辑和BL中。片段通过传