2013-02-17 42 views
0

我使用以下內容構建我的應用程序build.xml 當我點擊發布/ MyApp.app時,它不會運行!Apple .app(使用Ant的JarBundler構建)不會運行

但是當我做

java -jar release/MyApp.app/Contents/Resources/Java/helloworld.jar 

可執行文件(在Windows)不上來,這意味着helloworld.jar正確建立。 但由於某種原因,app不知道加載它。

<?xml version="1.0" encoding="UTF-8"?> 
<project name="App Builder" default="build_app" basedir="."> 

    <taskdef name="jarbundler" 
      classname="net.sourceforge.jarbundler.JarBundler" /> 

    <target name="build_app"> 
    <jarbundler dir="release" 
      name="MyApp" 
      mainclass="com.test" 
      jar="helloworld.jar" /> 
    </target> 
</project> 

有人知道這裏有什麼問題嗎?

謝謝

+1

當您使用JarBundler時,'.app'包需要一個Java應用程序存根。你添加了嗎? http://informagen.com/JarBundler/StubFile.html – Ankit 2013-02-17 04:41:11

+1

另請參閱本[回答](http://stackoverflow.com/a/2929159/230513)。 – trashgod 2013-02-17 05:09:26

回答

0

+1垃圾桶。當測試這個(從你之前的問題),我的應用程序不會啓動。這是因爲存根使用Java 6而不是Java 7 ......去圖。一旦我將我的文件編譯到Java 6中,它就可以正常工作。

此外,請確保您在內的所有依賴JAR文件...

我用這個作爲我的目標......

<target name="default"> 
    <delete dir="package" failonerror="false"/> 
    <mkdir dir="package"/> 
    <jarbundler dir="package" 
       name="Cars" 
       mainclass="testanimation10.TestAnimation10"> 
     <jarfileset dir="dist"> 
      <include name="**/*.jar" /> 
      <!--<exclude name="**/CVS" />--> 
     </jarfileset> 
    </jarbundler> 

更新

我下載Java Application Bundler來自java.net,這似乎是Apple的捆綁軟件的替代品,並遵循here的基本指令,並能夠構建一個能夠運行二進制文件的軟件包在Java 7下運行