[ 
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)

Reply via email to