Bug 971

Summary: IOUtil.toURL specificURI strips first component of absolute -jar path, treats relative -jar paths as absolute
Product: [JogAmp] Gluegen Reporter: David Farler <magaio>
Component: coreAssignee: Sven Gothel <sgothel>
Status: RESOLVED INVALID    
Severity: normal    
Priority: ---    
Version: 2   
Hardware: All   
OS: macosx   
Type: --- SCM Refs:
Workaround: ---

Description David Farler 2014-02-11 20:44:50 CET
Deploying jogl and gluegen inside a one-jar bundle, there is an UnsatisfiedLinkError for gluegen-rt (although it is in place) because the base jar path is incorrect: the URI constructed from the -jar argument strips the first path component if an absolute path, and treats relative paths as absolute ones.

The basic problem:

file://

new URI("file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar").getPath() == "/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar"

file:///

new URI("file:///Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar") == "/Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar"



Usage 1 (absolute path)

$ java -Djogamp.debug.JarUtil -Djogamp.debug.IOUtil -jar /Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar 

getJarURI Default jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
	-> jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
getJarURI res: com.jogamp.common.os.Platform -> jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class -> jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
IOUtil.testDirImpl(tempX1): </var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T>, create true, exec false: true
IOUtil.testDirImpl(tempX1): </var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T/jogamp_0000>, create true, exec false: true
IOUtil.getTempRoot(): temp dirs: exec: /var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T/jogamp_0000, noexec: /var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T/jogamp_0000
IOUtil.testDirImpl(testDir): </var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T/jogamp_0000/file_cache>, create true, exec false: true
getJarURI Default jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
	-> jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
getJarURI res: com.jogamp.common.os.Platform -> jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class -> jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
getJarName res: gluegen-2.1.3.jar
getJarSubURI res: jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar
getJarURIDirname res: file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/
getJarFile.0: jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
getJarSubURI res: jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/ -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/ -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
IOUtil.toURL.0: isJAR true, hasSubURI true
	, uri jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
	 str -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 ascii -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 ssp -> //Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 frag -> null
	 path -> /david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 path.decoded -> /david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
IOUtil.toURL.1b: fUri file:/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	, fUrl file:/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
getJarEntry res: jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/ -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/ -> 130 -> /
IOUtil.toURL.2: fPath /david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 -> /david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	, jarEntry /
	, post !/
	 -> jar:file:/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
IOUtil.toURL.X: mode 2, jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
	 -> jar:file:/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
getJarFile.1: jar:file:/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
Catched FileNotFoundException: /david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar (No such file or directory), while addNativeJarLibsImpl(classFromJavaJar class com.jogamp.common.os.Platform, classJarURI jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class, nativeJarBaseName gluegen-2.1.3-natives-macosx-universal.jar): [ file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar -> file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/ ] + gluegen-2.1.3-natives-macosx-universal.jar -> slim: jar:file://Users/david/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.simontuffs.onejar.Boot.run(Boot.java:340)
	at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: /System/Library/Frameworks/gluegen-rt.Framework/gluegen-rt
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
	at java.lang.Runtime.load0(Runtime.java:795)
	at java.lang.System.load(System.java:1062)
	at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:551)
	at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:64)
	at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:96)
	at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:414)
	at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:388)
	at com.jogamp.common.os.Platform$1.run(Platform.java:203)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.jogamp.common.os.Platform.<clinit>(Platform.java:173)
	at javax.media.nativewindow.NativeWindowFactory$2.run(NativeWindowFactory.java:166)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.media.nativewindow.NativeWindowFactory.<clinit>(NativeWindowFactory.java:163)
	at com.jogamp.newt.NewtFactory$1.run(NewtFactory.java:61)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.jogamp.newt.NewtFactory.<clinit>(NewtFactory.java:58)
	at org.farler.five.Main.<init>(Main.scala:19)
	at org.farler.five.Main$.main(Main.scala:15)
	at org.farler.five.Main.main(Main.scala)
	... 6 more



Usage 2 (relative path)

$ java -Djogamp.debug.JarUtil -Djogamp.debug.IOUtil -jar target/scala-2.10/five_2.10-1.0-one-jar.jar 

getJarURI Default jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
	-> jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
getJarURI res: com.jogamp.common.os.Platform -> jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class -> jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
IOUtil.testDirImpl(tempX1): </var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T>, create true, exec false: true
IOUtil.testDirImpl(tempX1): </var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T/jogamp_0000>, create true, exec false: true
IOUtil.getTempRoot(): temp dirs: exec: /var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T/jogamp_0000, noexec: /var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T/jogamp_0000
IOUtil.testDirImpl(testDir): </var/folders/p6/62twq4cd43379xz_328wbkfh0000gn/T/jogamp_0000/file_cache>, create true, exec false: true
getJarURI Default jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
	-> jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
getJarURI res: com.jogamp.common.os.Platform -> jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class -> jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class
getJarName res: gluegen-2.1.3.jar
getJarSubURI res: jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar
getJarURIDirname res: file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/
getJarFile.0: jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
getJarSubURI res: jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/ -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/ -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
IOUtil.toURL.0: isJAR true, hasSubURI true
	, uri jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
	 str -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 ascii -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 ssp -> /target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 frag -> null
	 path -> /target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 path.decoded -> /target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
IOUtil.toURL.1b: fUri file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	, fUrl file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
getJarEntry res: jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/ -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/ -> 97 -> /
IOUtil.toURL.2: fPath /target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	 -> /target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar
	, jarEntry /
	, post !/
	 -> jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
IOUtil.toURL.X: mode 2, jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
	 -> jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
getJarFile.1: jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
Catched FileNotFoundException: /target/scala-2.10/five_2.10-1.0-one-jar.jar (No such file or directory), while addNativeJarLibsImpl(classFromJavaJar class com.jogamp.common.os.Platform, classJarURI jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar!/com/jogamp/common/os/Platform.class, nativeJarBaseName gluegen-2.1.3-natives-macosx-universal.jar): [ file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3.jar -> file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/ ] + gluegen-2.1.3-natives-macosx-universal.jar -> slim: jar:file:/target/scala-2.10/five_2.10-1.0-one-jar.jar!/lib/gluegen-2.1.3-natives-macosx-universal.jar!/
Exception in thread "main" java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.simontuffs.onejar.Boot.run(Boot.java:340)
	at com.simontuffs.onejar.Boot.main(Boot.java:166)
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: /System/Library/Frameworks/gluegen-rt.Framework/gluegen-rt
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1854)
	at java.lang.Runtime.load0(Runtime.java:795)
	at java.lang.System.load(System.java:1062)
	at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:551)
	at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:64)
	at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:96)
	at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:414)
	at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:388)
	at com.jogamp.common.os.Platform$1.run(Platform.java:203)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.jogamp.common.os.Platform.<clinit>(Platform.java:173)
	at javax.media.nativewindow.NativeWindowFactory$2.run(NativeWindowFactory.java:166)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.media.nativewindow.NativeWindowFactory.<clinit>(NativeWindowFactory.java:163)
	at com.jogamp.newt.NewtFactory$1.run(NewtFactory.java:61)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.jogamp.newt.NewtFactory.<clinit>(NewtFactory.java:58)
	at org.farler.five.Main.<init>(Main.scala:19)
	at org.farler.five.Main$.main(Main.scala:15)
	at org.farler.five.Main.main(Main.scala)
	... 6 more



jar layout:


$ jar -tf ~/workspace/ScalaFive/target/scala-2.10/five_2.10-1.0-one-jar.jar | sort
.version
META-INF/MANIFEST.MF
OneJar.class
boot-manifest.mf
com/
com/simontuffs/
com/simontuffs/onejar/
com/simontuffs/onejar/Boot$1.class
com/simontuffs/onejar/Boot$2.class
com/simontuffs/onejar/Boot$3.class
com/simontuffs/onejar/Boot.class
com/simontuffs/onejar/Handler$1.class
com/simontuffs/onejar/Handler.class
com/simontuffs/onejar/IProperties.class
com/simontuffs/onejar/JarClassLoader$1.class
com/simontuffs/onejar/JarClassLoader$2.class
com/simontuffs/onejar/JarClassLoader$ByteCode.class
com/simontuffs/onejar/JarClassLoader$FileURLFactory$1.class
com/simontuffs/onejar/JarClassLoader$FileURLFactory.class
com/simontuffs/onejar/JarClassLoader$IURLFactory.class
com/simontuffs/onejar/JarClassLoader$OneJarURLFactory.class
com/simontuffs/onejar/JarClassLoader.class
com/simontuffs/onejar/OneJarFile$1.class
com/simontuffs/onejar/OneJarFile$2.class
com/simontuffs/onejar/OneJarFile.class
com/simontuffs/onejar/OneJarURLConnection.class
doc/
doc/one-jar-license.txt
lib/
lib/akka-actor_2.10-2.2.3.jar
lib/commons-lang-2.6.jar
lib/config-1.0.2.jar
lib/gluegen-2.1.3.jar
lib/gluegen-rt-2.1.3-natives-android-armv6.jar
lib/gluegen-rt-2.1.3-natives-linux-amd64.jar
lib/gluegen-rt-2.1.3-natives-linux-armv6.jar
lib/gluegen-rt-2.1.3-natives-linux-armv6hf.jar
lib/gluegen-rt-2.1.3-natives-linux-i586.jar
lib/gluegen-rt-2.1.3-natives-macosx-universal.jar
lib/gluegen-rt-2.1.3-natives-solaris-amd64.jar
lib/gluegen-rt-2.1.3-natives-solaris-i586.jar
lib/gluegen-rt-2.1.3-natives-windows-amd64.jar
lib/gluegen-rt-2.1.3-natives-windows-i586.jar
lib/gluegen-rt-2.1.3.jar
lib/gluegen-rt-main-2.1.3.jar
lib/jogl-all-2.1.3-natives-android-armv6.jar
lib/jogl-all-2.1.3-natives-linux-amd64.jar
lib/jogl-all-2.1.3-natives-linux-armv6.jar
lib/jogl-all-2.1.3-natives-linux-armv6hf.jar
lib/jogl-all-2.1.3-natives-linux-i586.jar
lib/jogl-all-2.1.3-natives-macosx-universal.jar
lib/jogl-all-2.1.3-natives-solaris-amd64.jar
lib/jogl-all-2.1.3-natives-solaris-i586.jar
lib/jogl-all-2.1.3-natives-windows-amd64.jar
lib/jogl-all-2.1.3-natives-windows-i586.jar
lib/jogl-all-2.1.3.jar
lib/jogl-all-main-2.1.3.jar
lib/scala-library.jar
main/
main/five_2.10-1.0.jar
Comment 1 David Farler 2014-02-12 18:50:27 CET
After passing some verbose flags to one-jar, I think I might've just run into https://jogamp.org/bugzilla/show_bug.cgi?id=846
Comment 2 Sven Gothel 2014-02-13 01:35:26 CET
(In reply to comment #1)
> After passing some verbose flags to one-jar, I think I might've just run
> into https://jogamp.org/bugzilla/show_bug.cgi?id=846

Yes, we support the big-fat-jar ..
  <http://forum.jogamp.org/Packaging-JOGL-projects-to-be-cross-platform-tp4031261p4031312.html>

See Bug 845