This may be a bug in 8u20.  By setting -Bclasspath=<whatever> it should be 
putting <whatever> in as the string.  I'de have to dig up the code because that 
section of code is uner a major overhaul for 8u40 because of the new launcher 
work.

On Nov 10, 2014, at 10:33 AM, Zach Oakes <zsoa...@gmail.com> wrote:

> I can see from the Info.plist file in the app bundle that JVMAppClasspath is 
> an empty string:
> 
> <key>JVMAppClasspath</key>
> <string></string>
> 
> On Mon, Nov 10, 2014 at 12:27 PM, Zach Oakes <zsoa...@gmail.com> wrote:
> It looks like the classpath is always just the main jar, no matter whether I 
> explicitly use -classPath or not. I am running 
> System.getProperty("java.class.path") and it returns "/path/to/myapp.jar" and 
> nothing else. This is the current command I'm running:
> 
> javapackager -deploy -native \
> -name MyApp \
> -outdir out \
> -outfile MyApp \
> -srcdir bin \
> -appclass myapp.Main \
> -BappVersion=0.4.2 \
> -Bicon=logo_launcher.icns \
> -BmainJar=myapp.jar \
> -Bmac.category=public.app-category.developer-tools \
> -Bmac.CFBundleIdentifier=info.oakleaf.myapp \
> -Bmac.CFBundleName=MyApp \
> -Bmac.signing-key-app="3rd Party Mac Developer Application: XXXXX" \
> -Bmac.signing-key-pkg="3rd Party Mac Developer Installer: XXXXX" \
> -Bmac.app-store-entitlements=MyApp.entitlements
> 
> On Mon, Nov 10, 2014 at 12:09 PM, Danno Ferrin <danno.fer...@oracle.com> 
> wrote:
> No, the class path is either set to all the files in the srcdir, or to 
> whatever you explicitly set it to.  Since you explicitly set the class path 
> to -BclassPath=myapp.jar:ObjCBridge.jar:jna.jar then the class path is 
> explicitly set.
> 
> Note that with the javapackager everything passed in as a resource to -srcdir 
> and/or -srcfiles is placed in …/Contents/Java, and nowhere else.  This is so 
> it works mostly the same with Windows and linux, where those are placed in 
> …/app.
> 
>> On Nov 10, 2014, at 10:06 AM, Zach Oakes <zsoa...@gmail.com> wrote:
>> 
>> Oh, I didn't realize you could just put native libraries in srcdir. Is the 
>> classpath is set to .../Contents/Java as well? I have a few extra jar files 
>> my app needs to use. I can see they are copied there successfully, but I 
>> can't seem to find their classes on the classpath.
>> 
>> On Mon, Nov 10, 2014 at 11:24 AM, Danno Ferrin <danno.fer...@oracle.com> 
>> wrote:
>> Is this a verification on the part of apple? Is it that the program does not 
>> find the library?  Or is it that the native library is not in the .app 
>> package at all?
>> 
>> For 8u20, the launcher javapackager provides sets the java.library.path to 
>> be <app root>/Contents/Java, so a call to System.loadLibrary(“jcocca”) 
>> should be loading …/Contents/Java/libjcocca.dylib
>> 
>> Is the native library in the -srcdir?
>> 
>> 
>>> On Nov 10, 2014, at 8:59 AM, Zach Oakes <zsoa...@gmail.com> wrote:
>>> 
>>> The error is the parameter dealing with the native library, 
>>> libjcocoa.dylib, that my app requires. Does javapackager support adding 
>>> native libraries? It should be copied into MyApp.app/Contents/MacOS.
>>> 
>>> On Mon, Nov 10, 2014 at 10:41 AM, Zach Oakes <zsoa...@gmail.com> wrote:
>>> Ah, forgive me, there was an error in the bundle process so it stopped 
>>> short of creating a pkg. I will keep working on the parameters to see if I 
>>> can fix it.
>>> 
>>> On Mon, Nov 10, 2014 at 10:38 AM, Zach Oakes <zsoa...@gmail.com> wrote:
>>> Definitely progress! It ended up creating a bundle, but not a pkg file. 
>>> Maybe it's trying to make a normal mac bundle? I am using 8u25, by the way.
>>> 
>>> On Mon, Nov 10, 2014 at 10:26 AM, Danno Ferrin <danno.fer...@oracle.com> 
>>> wrote:
>>> Try just '-native' and not '-native mac.appStore'.  I think there were case 
>>> checking issues in the 8u20 release.
>>> 
>>> On Nov 10, 2014, at 8:25 AM, Zach Oakes <zsoa...@gmail.com> wrote:
>>> 
>>>> Danno, since you mentioned javapackager, I decided to try using it in 
>>>> hopes that it would solve the issue. I'm trying to put together a command 
>>>> for it, but it's a bit confounding. So far I'm just getting a jnlp and 
>>>> html file to appear. Here's what I have so far (split onto separate lines 
>>>> for readability):
>>>> 
>>>> javapackager -deploy
>>>> -native mac.appStore
>>>> -name MyApp
>>>> -outdir out
>>>> -outfile MyApp
>>>> -srcdir bin
>>>> -appclass myapp.Main
>>>> -BappVersion=0.4.2
>>>> -Bicon=logo_launcher.icns
>>>> -BclassPath=myapp.jar:ObjCBridge.jar:jna.jar
>>>> -Bjava.library.path=libjcocoa.dylib
>>>> -Bmac.category=public.app-category.developer-tools
>>>> -Bmac.CFBundleIdentifier=info.oakleaf.myapp
>>>> -Bmac.CFBundleName=MyApp
>>>> -Bmac.signing-key-app="3rd Party Mac Developer Application: XXXXX"
>>>> -Bmac.signing-key-pkg="3rd Party Mac Developer Installer: XXXXX"
>>>> -Bmac.app-store-entitlements=MyApp.entitlements
>>>> 
>>>> On Sun, Nov 9, 2014 at 7:13 PM, Danno Ferrin <danno.fer...@oracle.com> 
>>>> wrote:
>>>> What are your entitlements?  For javapackager we sign only the master 
>>>> package with real user supplied entitlements, every other jar, dylib, and 
>>>> executable gets an entitlement with an entitlements that is just sandbox 
>>>> and inherit.  We also don't put entitlements on the JRE package when it is 
>>>> signed under plugins.
>>>> 
>>>> 
>>>> On Nov 9, 2014, at 2:26 PM, Zach Oakes <zsoa...@gmail.com> wrote:
>>>> 
>>>> > It looks like Apple has changed its codesigning requirements for the Mac
>>>> > App Store. Thus far, I've been packaging my Java app using Oracle's
>>>> > appbundler tool and signing it with the following script:
>>>> >
>>>> > http://pastebin.com/BtLV9bur
>>>> >
>>>> > This worked fine even as recently as last month. This time, I get an 
>>>> > email
>>>> > from them with the following:
>>>> >
>>>> > Invalid code signature - Signatures created with OS X version 10.8.5 or
>>>> > earlier [v1 signatures] are obsoleted and will no longer be recognized by
>>>> > Gatekeeper beginning with OS X version 10.9.5. To ensure your apps will 
>>>> > run
>>>> > on updated versions of OS X they must be signed on OS X version 10.9 or
>>>> > later [v2 signatures]. For more information, see OS X Code Signing In 
>>>> > Depth
>>>> >
>>>> > I think this error is incorrect, because I'm using 10.9.5 with the latest
>>>> > Xcode (6.1). I tried "codesign -dv MyApp.app" and it says "Sealed 
>>>> > Resources
>>>> > version=2 rules=12 files=7", so I think I am using v2 signatures. My JDK
>>>> > version has not changed since last month (8u25), so I can rule that out.
>>>> >
>>>> > I would appreciate any help. Thank you.
>>>> >
>>>> > Zach
>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> 
>> 
>> 
> 
> 
> 

Reply via email to