[jboss-user] [Installation, Configuration & DEPLOYMENT] - jboss-service.xml classpath element using HTTP protocol
logicmason
do-not-reply at jboss.com
Wed Sep 3 09:27:17 EDT 2008
Hi All,
I've been searching around, but I can't find anywhere that shows me the correct format for including an external JAR file using the HTTP protocol.
In the jboss-service DTD, it reads:
<!-- The codebase attribute specifies the base URL from which the jars or classes
| are loaded from. If the codebase is '.' then it is equal to the mbean deployment URL.
| Otherwise, it is resolved as a path spec relative to the serverHomeURL (e.g., file:/jboss-3.2.0)
| using the URL ctor URL(serverHomeURL, codebase)
|
| Examples:
|
| <classpath codebase='.' archives='util.jar' />
| <classpath codebase='http://classloader.dot.com' archives='*' />
| <classpath codebase="lib" archives="*"/>
| -->
So, I've set up two jboss servers on my machine, and the both start without issue without including this extra classpath entry in the conf/jboss-service.xml file.
The second jboss instance (or the "external" one in relation to my main instance) has a deployed WAR containg the JAR file. When I enter the URL in my browser, the save dialog pops up asking me if I want to save the JAR file to the file system, therefore indicating the context is propely deployed, and the JAR is available:
http://localhost:9080/mycontext/my-external-jar.jar
However, when I add this element to jboss-service.xml:
| <classpath codebase="http://localhost:9080/mycontext" archives="my-external-jar.jar"/>
|
I get this exception almost immediately:
| 12:57:41,382 ERROR [MainDeployer] Could not initialise deployment: file:/C:/JBoss/jboss-4.0.5/server/default/conf/jboss-service.xml
| java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpException
| at java.lang.Class.getDeclaredConstructors0(Native Method)
| at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
| at java.lang.Class.getConstructor0(Class.java:2671)
| at java.lang.Class.newInstance0(Class.java:321)
| at java.lang.Class.newInstance(Class.java:303)
| at org.jboss.net.protocol.URLListerFactory.createURLLister(URLListerFactory.java:70)
| at org.jboss.net.protocol.URLListerFactory.createURLLister(URLListerFactory.java:53)
| at org.jboss.deployment.SARDeployer.parseXMLClasspath(SARDeployer.java:556)
| at org.jboss.deployment.SARDeployer.init(SARDeployer.java:193)
| at org.jboss.deployment.MainDeployer.init(MainDeployer.java:872)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:809)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy5.deploy(Unknown Source)
| at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
| at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
| at org.jboss.Main.boot(Main.java:200)
| at org.jboss.Main$1.run(Main.java:490)
| at java.lang.Thread.run(Thread.java:595)
| Failed to boot JBoss:
| org.jboss.deployment.DeploymentException: Could not initialise deployment: file:/C:/JBoss/jboss-4.0.5/server/default/conf/jboss-service.xml;
| - nested throwable: (java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpException)
| at org.jboss.deployment.DeploymentException.rethrowAsDeploymentException(DeploymentException.java:53)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:814)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:766)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
| at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
| at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
| at $Proxy5.deploy(Unknown Source)
| at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
| at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
| at org.jboss.Main.boot(Main.java:200)
| at org.jboss.Main$1.run(Main.java:490)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.lang.NoClassDefFoundError: org/apache/commons/httpclient/HttpException
| at java.lang.Class.getDeclaredConstructors0(Native Method)
| at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
| at java.lang.Class.getConstructor0(Class.java:2671)
| at java.lang.Class.newInstance0(Class.java:321)
| at java.lang.Class.newInstance(Class.java:303)
| at org.jboss.net.protocol.URLListerFactory.createURLLister(URLListerFactory.java:70)
| at org.jboss.net.protocol.URLListerFactory.createURLLister(URLListerFactory.java:53)
| at org.jboss.deployment.SARDeployer.parseXMLClasspath(SARDeployer.java:556)
| at org.jboss.deployment.SARDeployer.init(SARDeployer.java:193)
| at org.jboss.deployment.MainDeployer.init(MainDeployer.java:872)
| at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:809)
| ... 21 more
| 12:57:41,397 INFO [Server] Runtime shutdown hook called, forceHalt: true
| 12:57:41,397 INFO [Server] JBoss SHUTDOWN: Undeploying all packages
| 12:57:41,413 INFO [Server] Shutdown complete
| Shutdown complete
| Halting VM
| Press any key to continue . . .
|
I've had a look in the "server/default/lib" directory, and the commons httpclient JAR is present, and does contain the HttpException class, so anyone know why I might be getting this, or if I have the correct format in the classpath XML element?
Do I need to re-order the deployment items? (JAR, WAR, etc...)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4173950#4173950
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4173950
More information about the jboss-user
mailing list