[
https://issues.apache.org/jira/browse/CAY-1881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13817525#comment-13817525
]
Andrus Adamchik commented on CAY-1881:
--------------------------------------
I think we'll be able to fix that with relatively little pain. Oracle OS X java
preserved "com.apple.eawt" package. So I downloaded Appbundler [1], created a
small change in the Mac assembly [2], and assembled Modeler with the following
Ant script [3]. This produced clickable app that starts with expected OS X
look-and-feel and is otherwise indistinguishable from Java 6 OS X modeler. I
guess now we need to integrate this into the build process.
BTW, with " <runtime dir="${env.JAVA_HOME}" />" option we can include Java 7
runtime in the app... too bad the size of the app goes up from ~8 to 148 MB
(56MB when gzipped). So I guess we'll rely on users installing their own JRE.
[1] https://java.net/projects/appbundler/pages/Home
[2] diff --git a/modeler/cayenne-modeler-mac/pom.xml
b/modeler/cayenne-modeler-mac/pom.xml
index d807151..40662e5 100644
--- a/modeler/cayenne-modeler-mac/pom.xml
+++ b/modeler/cayenne-modeler-mac/pom.xml
@@ -85,9 +85,8 @@
<longName>${project.version}</longName>
<destDir>target/modeler</destDir>
<mainClass>org.apache.cayenne.modeler.osx.OSXMain</mainClass>
-
<icon>src/japplication/resources/CayenneModeler.icns</icon>
- <os>mac</os>
- <jvm>1.5+</jvm>
+ <os>java</os>
+ <jvm>1.7+</jvm>
<jvmOptions>-Xmx500m</jvmOptions>
</configuration>
<executions>
[3] <project name="CayenneModelerBundler">
<taskdef
name="bundleapp"
classname="com.oracle.appbundler.AppBundlerTask"
classpath="lib/appbundler-1.0.jar" />
<property environment="env" />
<target name="bundle">
<bundleapp
outputdirectory="dist"
name="CayenneModeler"
displayname="CayenneModeler"
identifier="org.apache.cayenne"
mainclassname="org.apache.cayenne.modeler.osx.OSXMain"
icon="/Users/cayenne/work/cayenne/modeler/cayenne-modeler-mac/src/japplication/resources/CayenneModeler.icns">
<runtime dir="${env.JAVA_HOME}" />
<classpath
file="/Users/cayenne/work/cayenne/modeler/cayenne-modeler-mac/target/modeler/CayenneModeler.jar"
/>
<option value="-Dapple.laf.useScreenMenuBar=true"/>
</bundleapp>
</target>
</project>
> CayenneModeler (Mac version) doesn't work with Java 7
> -----------------------------------------------------
>
> Key: CAY-1881
> URL: https://issues.apache.org/jira/browse/CAY-1881
> Project: Cayenne
> Issue Type: Bug
> Components: Modeler
> Affects Versions: 3.2M1
> Environment: Mac OS X 10.9 Mavericks
> Oracle Java jdk1.7.0_45
> Reporter: D Tim Cummings
> Priority: Minor
>
> The Mac specific CayenneModeler 3.2M1 doesn't work when the only java on the
> Mac is jdk1.7.0_45. The symptom is it won't open. I tried installing it
> again, but OS X Mavericks says CayenneModeler is damaged and gives me the
> option to delete it. The platform independent version of CayenneModeler 3.2M1
> works fine with jdk1.7.0_45.
> I can confirm that installing java 6 from Apple solved the problem.
> To prevent Java 6 from wanting to install, I had edited
> /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Info.plist
> and replaced
> <key>JVMCapabilities</key>
> <array>
> <string>CommandLine</string>
> </array>
> with the following:
> <key>JVMCapabilities</key>
> <array>
> <string>JNI</string>
> <string>BundledApp</string>
> <string>WebStart</string>
> <string>Applets</string>
> <string>CommandLine</string>
> </array>
--
This message was sent by Atlassian JIRA
(v6.1#6144)