This question already has an answer here:
Elastic Search java.lang.NoClassDefFoundError: org/elasticsearch/transport/Netty3Plugin
(1 answer)
Closed 5 years ago.
I'm upgrading my elasticsearch from 2.3.4 to 5.3.0
Below are the jars in my classpath
elasticsearch-5.3.0.jar
HdrHistogram-2.1.6.jar
hppc-0.7.1.jar
jackson-core-2.8.6.jar
jackson-dataformat-cbor-2.8.6.jar
jackson-dataformat-smile-2.8.6.jar
jackson-dataformat-yaml-2.8.6.jar
java-version-checker-5.3.0.jar
jna-4.2.2.jar
joda-time-2.9.5.jar
jopt-simple-5.0.2.jar
jts-1.13.jar
lucene-analyzers-common-6.4.1.jar
lucene-backward-codecs-6.4.1.jar
lucene-core-6.4.1.jar
lucene-grouping-6.4.1.jar
lucene-highlighter-6.4.1.jar
lucene-join-6.4.1.jar
lucene-memory-6.4.1.jar
lucene-misc-6.4.1.jar
lucene-queries-6.4.1.jar
lucene-queryparser-6.4.1.jar
lucene-sandbox-6.4.1.jar
lucene-spatial-6.4.1.jar
lucene-spatial-extras-6.4.1.jar
lucene-spatial3d-6.4.1.jar
lucene-suggest-6.4.1.jar
securesm-1.1.jar
snakeyaml-1.15.jar
t-digest-3.0.jar
transport-netty4-client-5.3.0.jar
percolator-client-5.3.0.jar
reindex-client-5.3.0.jar
lang-mustache-client-5.3.0.jar
transport-netty3-client-5.3.0.jar
transport-5.3.0.jar
log4j-api-2.7.jar
log4j-core-2.7.jar
log4j-1.2-api-2.7.jar
spatial4j-0.6.jar
when I'm doing
client = new PreBuiltTransportClient(Settings.EMPTY)
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"), 9300))
I get the below exception
Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/netty/logging/InternalLoggerFactory
at org.elasticsearch.transport.Netty3Plugin.<clinit>(Netty3Plugin.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:376)
at org.elasticsearch.plugins.PluginsService.<init>(PluginsService.java:104)
at org.elasticsearch.client.transport.TransportClient.newPluginService(TransportClient.java:101)
at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:126)
at org.elasticsearch.client.transport.TransportClient.<init>(TransportClient.java:268)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:125)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:111)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:101)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:71)
at org.codehaus.groovy.runtime.callsite.ConstructorSite.callConstructor(ConstructorSite.java:42)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
at org.hire.test.HudkiES.openClient(HudkiES.groovy:146)
at org.hire.test.HudkiES.<init>(HudkiES.groovy:113)
at org.hire.test.HudkiES.<init>(HudkiES.groovy)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:77)
at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:71)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrap.callConstructor(ConstructorSite.java:81)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:57)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:182)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:190)
at org.hire.test.HudkiES.main(HudkiES.groovy:1020)
Caused by: java.lang.ClassNotFoundException: org.jboss.netty.logging.InternalLoggerFactory
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 37 more
Java version 1.8
Does anyone also facing the same issue or know what I'm missing here?
Elasticsearch 5.3 is expecting version 4 of the NettyPlugin org.elasticsearch.transport.Netty4Plugin. You most likely have the wrong version on your classpath or both versions and the older version is getting grabbed first.
If you generate the dependency tree for your libs you see what versions are getting pulled in and could then include/exclude the right/wrong version.
Related
I'm creating a custom Java sampler in JMeter. It's working just fine. However, when I wanted it to return a result in JSON, JMeter didn't found the .jar for the jackson-databind library, which is needed for the creation of the JSON.
I put it to the /lib/ext folder in the JMeter main directory. I also copied to /lib, to no avail. (I know that /lib/ext shouldn't be used for dependency jars, but JMeter doesn't find my utility jars in /lib in my experience.)
I tried adding the path to the variables search_paths, user.classpath and plugin_dependency_paths in jmeter.properties. I tried with absolute path, relative path, with slash, with backslash, but neither helped.
I tried setting the JMETER_HOME variable to the address of my installation. It worked, yet it didn't help.
I tried running in two environments. The first is within Eclipse (I copied JMeter to a workspace folder, then imported the project), with JMeter 4.0. I got this error in the log:
java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper
at (creating ObjectMapper here)
at (creating ResponseJSON here)
at org.apache.jmeter.protocol.java.sampler.JavaSampler.sample(JavaSampler.java:197) ~[ApacheJMeter_java.jar:4.0 r1823414]
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:490) ~[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:416) ~[ApacheJMeter_core.jar:4.0 r1823414]
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:250) ~[ApacheJMeter_core.jar:4.0 r1823414]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
I also ran JMeter 3.3 from the .bat file, adding the jars to the same place. I got this error on the console:
Unknown error checking for existence of class: com.fasterxml.jackson.databind.ObjectMapper
java.lang.NoClassDefFoundError: com/fasterxml/jackson/core/Versioned
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.logging.log4j.util.LoaderUtil.loadClass(LoaderUtil.java:141)
at org.apache.logging.log4j.util.LoaderUtil.isClassAvailable(LoaderUtil.java:115)
at org.apache.logging.log4j.core.util.Loader.isClassAvailable(Loader.java:310)
at org.apache.logging.log4j.core.config.yaml.YamlConfigurationFactory.<init>(YamlConfigurationFactory.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.logging.log4j.core.util.ReflectionUtil.instantiate(ReflectionUtil.java:188)
at org.apache.logging.log4j.core.config.ConfigurationFactory.addFactory(ConfigurationFactory.java:190)
at org.apache.logging.log4j.core.config.ConfigurationFactory.getInstance(ConfigurationFactory.java:164)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:613)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:634)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:229)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:122)
at org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:43)
at org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:46)
at org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:29)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)
at org.apache.jmeter.JMeter.<clinit>(JMeter.java:109)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.apache.jmeter.NewDriver.main(NewDriver.java:246)
Caused by: java.lang.ClassNotFoundException: com.fasterxml.jackson.core.Versioned
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 43 more
I didn't try to debug the classloader, but probably that'll be the next step when I finished posting it here.
I have this version of the file, same as in my POM:
https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.9.4
Part of jackson-databind dependencies is specifically jackson-core jar you are probably missing and include missing class in your error: com.fasterxml.jackson.core.Versioned
See Jackson Installation:
The three JAR files (projects) in the Jackson JSON API are:
Jackson Core
Jackson Annotations
Jackson Databind
I want to create a Java API to access HBase DB, but I am always facing with this error in my project;
15/12/14 20:34:22 INFO zookeeper.ZooKeeper: Initiating client connection, connectString=192.168.34.184:2181,192.168.34.173:2181 sessionTimeout=90000 watcher=hconnection-0xa80e050x0, quorum=192.168.34.184:2181,192.168.34.173:2181, baseZNode=/hbase
15/12/14 20:34:22 INFO zookeeper.ClientCnxn: Opening socket connection to server /192.168.34.184:2181
java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240)
at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:420)
at org.apache.hadoop.hbase.client.ConnectionManager.createConnection(ConnectionManager.java:413)
at org.apache.hadoop.hbase.client.ConnectionManager.getConnectionInternal(ConnectionManager.java:291)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:222)
at api.ClientOperations.creatTable(ClientOperations.java:69)
at api.ClientOperations.main(ClientOperations.java:125)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238)
... 6 more
Caused by: java.lang.NoClassDefFoundError: org/apache/htrace/Trace
at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:217)
at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:541)
at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:65)
at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:105)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:879)
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:635)
... 11 more
Caused by: java.lang.ClassNotFoundException: org.apache.htrace.Trace
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
But I added HTrace jar in my project
HBase version: 1.1.2
Hadoop version: 2.6.0
You need to add right jar file to your project, add htrace-core-3.1.0 jar file to project class path then run it.htrace-core
<dependency>
<groupId>org.apache.htrace</groupId>
<artifactId>htrace-core</artifactId>
<version>3.1.0-incubating</version>
</dependency>
I have a softdepend in my plugin.yml:
softdepend: [Plugin]
I check if the plugin is not in the server using this:
if(getServer().getPluginManager().getPlugin("Plugin") != null) {
// do stuff
}
Even though I am checking if the plugin exists in the plugins folder before running my code, I have imports from this plugin that throw errors when the plugin is not on the server. I am getting a InvalidPluginException because of the imports I have from the softdepended plugin. I need these imports to run the code I use if the plugin is available in the plugins folder. NOTE: I do not want to disable the plugin if the softdepend plugin is not found.
How can I keep the imports from the softdepended plugin without it throwing this error.
I have tried looking for a similar question like this on the Bukkit Forums and Stack Overflow, I have had no luck.
The error looks like this:
org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: be/maximvdw/featherboard/api/PlaceholderAPI$PlaceholderRequestEventHandler
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:135) ~[craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at org.bukkit.craftbukkit.v1_8_R2.CraftServer.loadPlugins(CraftServer.java:291) [craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at net.minecraft.server.v1_8_R2.DedicatedServer.init(DedicatedServer.java:199) [craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at net.minecraft.server.v1_8_R2.MinecraftServer.run(MinecraftServer.java:522) [craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
Caused by: java.lang.NoClassDefFoundError: be/maximvdw/featherboard/api/PlaceholderAPI$PlaceholderRequestEventHandler
at (java:21) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_25]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_25]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_25]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_25]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25]
at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:76) ~[craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
... 6 more
Caused by: java.lang.ClassNotFoundException: be.maximvdw.featherboard.api.PlaceholderAPI$PlaceholderRequestEventHandler
at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_25]
at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.8.0_25]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_25]
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_25]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
at (java:21) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_25]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_25]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_25]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_25]
at java.lang.Class.newInstance(Unknown Source) ~[?:1.8.0_25]
at org.bukkit.plugin.java.PluginClassLoader.(PluginClassLoader.java:76) ~[craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[craftbukkit.jar:git-Spigot-26dfd01-5cb9b70]
... 6 more
[15:44:32]
Instead of enabling the plugin when the dependency is there, disable the plugin if it isn't there.
if (getServer().getPluginManager().getPlugin("Plugin") != null) {
// error message, whatever else you need here
getServer().getPluginManager().disablePlugin(this);
}
EDIT: I just realized that this might not be what you're trying to do. If you're trying to use code from a certain plugin that might not be on the server, for example in a listener, make 2 listener classes: one containing code that uses that plugin, and another that contains no code from that plugin. Then when you register the listeners, do something like this:
if (getServer().getPluginManager().getPlugin("Plugin") != null) {
getServer().getPluginManager().registerEvents(new ListenerWithDependencyCode(), this);
} else {
getServer().getPluginManager().registerEvents(new ListenerWithoutDependencyCode(), this);
}
I am using QPid with Eclipse and Tomcat. Created a Dynamic Web Application and set the QPID_HOME, QPID_WORK environment variables.
Trying out the Hello.java example mentioned here:-
https://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/example/
But i am getting these errors while running this file :-
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/qpid/url/URLSyntaxException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at myApp.runTest(myApp.java:25)
at myApp.main(myApp.java:15)
Caused by: java.lang.ClassNotFoundException: org.apache.qpid.url.URLSyntaxException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 9 more
It looks like you are missing:
qpid-common-0.10.jar
Available from http://qpid.apache.org/download.html
or
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-common</artifactId>
<version>0.10</version>
</dependency>
if you are using maven.
I'm trying to launch a runnable JAR file via web start, but am encountering an error with java not being able to find an external JAR (I think). When running the JNLP file, JWS starts, but then states that the application cannot be opened due to this error:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/net/ftp/FTPClient
at DevChat.canConnect(DevChat.java:326)
at DevChat.<init>(DevChat.java:89)
at DevChat.main(DevChat.java:348)
... 9 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.net.ftp.FTPClient
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 12 more
The external JAR file mentioned, apache commons, is embedded in the runnable JAR and the JAR runs fine on it's own, just not in JWS. Suggestions?