开源改变世界!!

Mac 应用程序包 #86

推推 grbl 2年前 (2023-01-25) 187次浏览
关闭
getSurreal 打开了这个问题 2013 年 8 月 24 日 · 4条评论
关闭

Mac 应用程序包#86

getSurreal 打开了这个问题 2013 年 8 月 24 日 · 4条评论

注释

Mac 应用程序包 #86

我希望能够使用应用程序图标而不是从脚本文件启动。我不是 Java 开发人员,但过去几个小时我一直在阅读并尝试创建一个应用程序包,但没有成功。我希望你能给我指出正确的方向。我正在尝试使用 JarBundler ( http://informagen.com/JarBundler/ ),因为 Oracle AppBundler 需要 java 7。我已将“*”行放入 build.xml(当然没有 *)。它编译没有任何错误,但没有创建包。只是jar文件。

<!-- One-Jar .jar building -->

*    <taskdef name="bundleapp"
*            classname="net.sourceforge.jarbundler.JarBundler"   
*            classpath="lib/jarbundler-2.2.0.jar" />

    <target name="onejar-individual-platforms" depends="jar"
            description="Bundles a stand-alone OneJAR distribution">
 *      <jarbundler dir="release"
 *           name="Universal GCode Sender"
 *           mainclass="components.UniversalGcodeSender" 
 *           jar="release/UniversalGcodeSender.jar" />
        <echo>Bundling: OneJAR is copying natives to ${dist.jar.dir}/natives </echo>   
Mac 应用程序包 #86
所有者

要在构建文件中运行特定任务,您需要进入 Netbeans 中的“文件”视图并右键单击 build.xml。从那里转到“运行目标”部分,然后选择您的新目标。

您应该使用“onejar-build-release”任务而不是“onejar-individual-platforms”,我相信任务会按顺序运行,所以一定要在实际创建 jar 文件后将 jarbundler 放在最后。

Mac 应用程序包 #86

谢谢您的帮助。我在 onejar-individual-platforms 中创建 jar 之后放置了“jarbundler”。还需要更新 taskdef 名称,因为它试图使用 Oracle bundleapp。它创建了包,但没有启动也没有错误。

你知道我应该把什么作为 jarbundler 的主类吗?我只是在那里编造了一些东西。:)

Mac 应用程序包 #86
所有者

很抱歉耽误了…您是否仍然有兴趣从事这项工作?
主类应该是“com.willwinder.universalgcodesender.MainWindow”或“com.simontuffs.onejar.boot”

Mac 应用程序包 #86

我已经使用 applescript 创建了一个 mac 应用程序启动器,这是代码。(打开 applescript 编辑器并另存为应用程序)。
我可以将它添加到回购协议中吗?

set WhereAmI to (path to me) as alias
tell application "System Events"
    set MyPath to (POSIX path of container of WhereAmI)
end tell
if FolderExists("/var/lock") then
    (* Do something if /var/lock already exists *)
else
    set question to display dialog "To start, I must create /var/lock directory"
    set answer to button returned of question


    if answer is equal to "OK" then
        do shell script "sudo mkdir /var/lock ; sudo chmod 777 /var/lock " with administrator privileges
    else
        quit
    end if

end if

do shell script ("sh " & quoted form of MyPath & "/start.sh > /dev/null 2>&1 &")

on FolderExists(theFolder) -- (String) as Boolean
    tell application "System Events"
        if exists folder theFolder then
            return true
        else
            return false
        end if
    end tell
end FolderExists