-
Bug
-
Resolution: Done
-
Blocker
-
EAP_EWP 5.1.0
-
JBoss Enterprise Application Platform 5.1 rpms installed from RHN
-
-
-
Not Required
The twiddle.sh sets up its classpath to include $JBOSS_HOME/jbossall-client.jar. This jbossall-client.jar is a link to
/usr/share/java/jbossas/jbossall-client.jar which is a link to /usr/share/java/jbossas/jbossall-client-5.1.0.jar.
The problem is in EAP >= 5, the jbossall-client.jar no longer includes any classes, to reduce the download size, the jbossall-client.jar just uses the MANIFEST.MF to specify the Class-Path which points to the jars in the $JBOSS_HOME/client directory. When using the rpm, the jars in the jbossall-client.jar classpath are in /usr/share/jbossas/client/ which has jars which are links to /usr/share/java/
So the jbossall-client.jar needs to be in a directory with the jars it references, and in testing, it seemed having a jbossall-client.jar which is a link in the directory with the jars it referenced did not seem to work correctly.
if [ "x$JBOSS_CLASSPATH" = "x" ]; then
JBOSS_CLASSPATH="$JBOSS_BOOT_CLASSPATH"
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_HOME/jbossall-client.jar"
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_HOME/client/getopt.jar"
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_HOME/client/log4j.jar"
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_HOME/lib/jboss-jmx.jar"
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_HOME/lib/dom4j.jar"
else
JBOSS_CLASSPATH="$JBOSS_CLASSPATH:$JBOSS_BOOT_CLASSPATH"
fi
Running twiddle command such as ./twiddle.sh -s localhost:1099 -u admin -p admin get jboss.system:type=ServerInfo
results in:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jboss/util/NestedException
at java.lang.ClassLoader.defineClass1(Native Method)
...