栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

指向由JAVA_HOME定义的JRE的Java AppBundler应用程序

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

指向由JAVA_HOME定义的JRE的Java AppBundler应用程序

appbundler
应用程序可以使用应用程序捆绑包中的嵌入式Java 7 JRE,也可以使用安装在
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
其中的Java 7 JRE (Web浏览器插件使用的Java 7 JRE
)。他们不能使用安装在该目录下的
JDK
/Library/Java/JavaVirtualMachines
(或其他任何地方),并且绝对不能使用Java 6。

但是,您 可以
做的是不使用

appbundler
,而是手动构建捆绑包,主要的可执行文件是运行
java
命令行工具的shell脚本
JAVA_HOME
/Library/InternetPlug-Ins
如果
JAVA_HOME
未设置,则退回到JRE )。这样的脚本将能够支持Java 6和7。

您将使用如下所示的内容

YourApp.app/Contents/MacOS/YourApp

#!/bin/shPRG=$0while [ -h "$PRG" ]; do    ls=`ls -ld "$PRG"`    link=`expr "$ls" : '^.*-> (.*)$' 2>/dev/null`    if expr "$link" : '^/' 2> /dev/null >/dev/null; then        PRG="$link"    else        PRG="`dirname "$PRG"`/$link"    fidoneprogdir=`dirname "$PRG"`if [ -n "$JAVA_HOME" ]; then  JAVACMD="$JAVA_HOME/bin/java"elif [ -x /usr/libexec/java_home ]; then  JAVACMD="`/usr/libexec/java_home`/bin/java"else  JAVACMD="/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java"fiexec "$JAVACMD" -classpath "$progdir/../Resources/Jars/*"        -Dapple.laf.useScreenMenuBar=true        my.pkg.MainClass

然后将您应用程序的JAR文件放在中

YourApp.app/Contents/Resources/Jars
,将图标放在中
YourApp.app/Contents/Resources/icon.icns
,并将以下内容放在中
YourApp.app/Contents/Info.plist

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict>        <key>CFBundleDevelopmentRegion</key>        <string>English</string>        <key>CFBundleExecutable</key>        <string>YourApp</string><!-- relative to Contents/MacOS -->        <key>CFBundleGetInfoString</key>        <string>My clever application</string>        <key>CFBundleIconFile</key>        <string>icon.icns</string><!-- relative to Contents/Resources -->        <key>CFBundleInfoDictionaryVersion</key>        <string>8.0</string>        <key>CFBundleName</key>        <string>YourApp</string>        <key>CFBundlePackageType</key>        <string>APPL</string>        <key>CFBundleSignature</key>        <string>????</string>        <key>CFBundleVersion</key>        <string>8.0</string></dict></plist>

有关完整的详细信息,请参见GATE
Developer启动器。不过请注意,这是一个较为复杂的情况,因为

.app
脚本委托给另一个脚本,该脚本又从
.app
捆绑包外部的位置加载JAR文件。然而,原理保持不变。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/609989.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号