2013-11-29 4 views
2

Я пытаюсь связать приложение Java на окнах для макинтош с помощью appbundler-1.0.jar и Ant со встроенным JRE 7.Невозможно загрузить Java Runtime Environment со встроенным JRE

Это build.xml:

<?xml version="1.0" encoding="UTF-8"?> 
    <project name="AppName" default="default" basedir="."> 
     <property environment="env" /> 
     <taskdef 
      name="bundleapp" 
      classname="com.oracle.appbundler.AppBundlerTask" 
      classpath="lib/appbundler-1.0.jar" /> 
     <target name="bundle-AppName"> 
      <bundleapp 
       outputdirectory="dist" 
       name="AppName" 
       displayname="AppName" 
       identifier="com.hmf.AppName" 
       icon="files\logo48.icns" 
       shortversion="1.0" 
       mainclassname="hmf.AppName.app"> 
       <classpath file="files/AppName.jar" /> 
       <librarypath dir="pathToLibraries" /> 
       <option value="-Dapple.laf.useScreenMenuBar=false"/> 
       <option value="-XstartOnFirstThread=true"/> 
       <option value="-Dcom.apple.macos.useScreenMenuBar=false"/> 
       <option value="-Dcom.apple.smallTabs=true"/> 
       <option value="-Dsun.java2d.d3d=false"/> 
       <option value="-Derby.storage.pageSize=8192"/> 
       <option value="-Djava.library.path=lib/swt.jar:lib"/> 
       <option value="-Xmx1400M"/> 
      </bundleapp> 
     </target> 
    </project> 

Затем я копирую jre 7 для mac в каталог PlugIns в AppName.app. (Я не могу заставить его работать с тегом runtiime)

Но когда я пытаюсь запустить приложение, я получаю: «Невозможно загрузить Java Runtime Environment».

Когда OS использует систему jre, она работает, но я хочу, чтобы иметь возможность использовать встроенный jre.

Также см:
http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html
Application is using Java 6 from Apple instead of Java 7 from Oracle on Mac OS X?

ответ

1

Я решил эту проблему с моим «Невозможно загрузить Java Runtime Environment», используя установленный JDK в качестве JRE для встраивания в моем приложении. Я до сих пор использовал jre, распакованный в папку пользователя. с JDK я установить переменные окружения в командной строке

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home 

Затем я использовал

<runtime dir="${env.JAVA_HOME}" /> 

, и она работала как JRE инсталлируется в каталоге плагин, как это не должно, т.е. не нужно вручную copy jre

+0

Можете ли вы это сделать, если в другой операционной системе? То есть создание приложения для OSX с Windows-машины? – JoshuaD

Смежные вопросы