Bug#705565: more detail
Daniel Pocock
daniel at pocock.com.au
Tue Aug 27 15:10:50 UTC 2013
severity -1 grave
Not usable currently
Easily fixed though
It needs the main class declared in the manifest, from upstream, that
appears to be com.google.javascript.jscomp.CommandLineRunner
I tried running the JAR from this package manually:
java -classpath /usr/share/java/closure-compiler.jar
com.google.javascript.jscomp.CommandLineRunner
and it fails with
Exception in thread "main" java.lang.NoClassDefFoundError:
org/kohsuke/args4j/CmdLineException
Caused by: java.lang.ClassNotFoundException:
org.kohsuke.args4j.CmdLineException
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class:
com.google.javascript.jscomp.CommandLineRunner. Program will exit.
Comparing the JAR with upstream's JAR, it looks like org/kohsuke has
been stripped out. If that is in another package then it needs to be a
dependency and it also needs to be listed in the manifest of
closure-compiler.jar so that it will be found automatically
I manually installed libargs4-java and I then get
Exception in thread "main" java.lang.NoClassDefFoundError:
com/google/common/io/LimitInputStream
Caused by: java.lang.ClassNotFoundException:
com.google.common.io.LimitInputStream
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class:
com.google.javascript.jscomp.CommandLineRunner. Program will exit.
and adding libguava-java I then get another exception about
org/json/JSONException
....
finally, it works with this command line:
java -classpath
/usr/share/java/closure-compiler.jar:/usr/share/java/args4j.jar:/usr/share/java/guava.jar:/usr/share/java/json.jar
com.google.javascript.jscomp.CommandLineRunner
and these dependencies:
libargs4-java libguava-java libandroid-json-org-java
More information about the pkg-java-maintainers
mailing list