Hi Mark,
I think the problem may be to do with class loading.
Can you try using the stream-based methods instead, for example here
is generator created from the extended WADL web app:
return generator( WadlGeneratorApplicationDoc.class )
.prop( "applicationDocsStream", "application-doc.xml" )
.generator( WadlGeneratorGrammarsSupport.class )
.prop( "grammarsStream", "application-grammars.xml" )
.generator( WadlGeneratorResourceDocSupport.class )
.prop( "resourceDocStream", "resourcedoc.xml" )
.descriptions();
Note that say for the first property look at the method
WadlGeneratorApplicationDoc#setApplicationDocsStream:
https://jersey.dev.java.net/nonav/apidocs/1.1.0-ea/jersey/com/sun/jersey/server/wadl/generators/WadlGeneratorApplicationDoc.html
#setApplicationDocsStream(java.io.InputStream)
I think we should mark the 'classpath:' feature as deprecated.
Paul.
On May 11, 2009, at 6:14 PM, Rabick, Mark A (IS) wrote:
> I've been working in Eclipse 3.4 and have been deploying my jersey
> app to a server using the embedded weblogic server tools. I
> generated a WAR file by using the Export -> Java -> War menu option
> in eclipse and the exported war file application does not deploy,
> whereas the eclipse "Run on Server" works. I'm getting an exception
> when the app deploys:
>
> It appears to be in the WADL generation. Here is my
> CnodbRestWadlGeneratorConfig.java
>
> /**
> * This class is used to define extensions to the default WADL
> generator
> * by defining properties in a wadl generation configuration class.
> * The following wadl enhancements are incorporated:
> * <ul>
> * <li>An introductory paragraph for the application using a {_at_link
> WadlGeneratorApplicationDoc}
> * generator with a reference to the <i>application-
> doc.xml</i> file.</li>
> * <li>An XSD schema from a {_at_link WadlGeneratorGrammarsSupport}
> generator stored in the file
> * <i>application-grammars.xml</i> file.</li>
> * <li>Incorporate javadoc elements in a generated
> <i>resourcedoc.xml</i> file
> * using a {_at_link WadlGeneratorResourceDocSuport}
> generator. The file must
> * be generated before packaging the application. The
> file is generated using
> * javadoc defined in the build file.
> * </ul>
> */
> public class CnodbRestWadlGeneratorConfig extends
> WadlGeneratorConfig {
>
> @Override
> public List<WadlGeneratorDescription> configure() {
>
> return
> super.generator( WadlGeneratorApplicationDoc.class )
> .prop( "applicationDocsFile", "classpath:/
> application-doc.xml" )
> .generator( WadlGeneratorGrammarsSupport.class )
> .prop( "grammarsFile", "classpath:/application-
> grammars.xml" )
> .generator( WadlGeneratorResourceDocSupport.class )
> .prop( "resourceDocFile", "classpath:/
> resourcedoc.xml" )
> .descriptions();
>
> }
>
> }
>
> The exception is below:
>
> <May 11, 2009 11:09:25 AM CDT> <Warning> <Deployer> <BEA-149078>
> <Stack trace for message 149004
> weblogic.application.ModuleException: [HTTP:101216]Servlet: "CNODB
> Web Application" failed to preload on startup in Web application:
> "cdal-web-service
>
> java.lang.RuntimeException: Could not load
> WadlGeneratorConfiguration, check the configuration of
> com.sun.jersey.config.property.WadlGeneratorConfig
>
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config
> .WadlGeneratorConfigLoader
> .loadWadlGeneratorsFromConfig(WadlGeneratorConfigLoader.java:100)
>
> at
> com.sun.jersey.server.impl.wadl.WadlFactory.<init>(WadlFactory.java:
> 73)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .application.WebApplicationImpl.initiate(WebApplicationImpl.java:587)
> at
> com
> .sun
> .jersey
> .server
> .impl
> .application.WebApplicationImpl.initiate(WebApplicationImpl.java:383)
> at
> com
> .sun
> .jersey
> .spi
> .container.servlet.ServletContainer.initiate(ServletContainer.java:
> 377)
> at com.sun.jersey.spi.container.servlet.ServletContainer
> $InternalWebComponent.initiate(ServletContainer.java:242)
>
> at
> com
> .sun
> .jersey.spi.container.servlet.WebComponent.load(WebComponent.java:449)
> at
> com
> .sun
> .jersey.spi.container.servlet.WebComponent.init(WebComponent.java:169)
> at
> com
> .sun
> .jersey
> .spi.container.servlet.ServletContainer.init(ServletContainer.java:
> 281)
> at
> com
> .sun
> .jersey
> .spi.container.servlet.ServletContainer.init(ServletContainer.java:
> 442)
> at javax.servlet.GenericServlet.init(GenericServlet.java:241)
> at weblogic.servlet.internal.StubSecurityHelper
> $ServletInitAction.run(StubSecurityHelper.java:282)
> at
> weblogic
> .security
> .acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
> at weblogic.security.service.SecurityManager.runAs(Unknown
> Source)
> at
> weblogic
> .servlet
> .internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:63)
> at
> weblogic
> .servlet
> .internal
> .StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:58)
> at
> weblogic
> .servlet
> .internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:48)
> at
> weblogic
> .servlet
> .internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:507)
> at
> weblogic
> .servlet
> .internal
> .WebAppServletContext.preloadServlet(WebAppServletContext.java:1853)
> at
> weblogic
> .servlet
> .internal
> .WebAppServletContext
> .loadServletsOnStartup(WebAppServletContext.java:1830)
> at
> weblogic
> .servlet
> .internal
> .WebAppServletContext.preloadResources(WebAppServletContext.java:1750)
> at
> weblogic
> .servlet
> .internal.WebAppServletContext.start(WebAppServletContext.java:2909)
> at
> weblogic
> .servlet.internal.WebAppModule.startContexts(WebAppModule.java:973)
> at
> weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:361)
> at weblogic.application.internal.flow.ModuleStateDriver
> $3.next(ModuleStateDriver.java:204)
> at
> weblogic
> .application
> .utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
> at
> weblogic
> .application
> .internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
> at
> weblogic
> .application
> .internal.flow.ScopedModuleDriver.start(ScopedModuleDriver.java:200)
> at
> weblogic
> .application
> .internal
> .flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:117)
> at weblogic.application.internal.flow.ModuleStateDriver
> $3.next(ModuleStateDriver.java:204)
> at
> weblogic
> .application
> .utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
> at
> weblogic
> .application
> .internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
> at
> weblogic
> .application
> .internal.flow.StartModulesFlow.activate(StartModulesFlow.java:26)
> at weblogic.application.internal.BaseDeployment
> $2.next(BaseDeployment.java:635)
> at
> weblogic
> .application
> .utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
> at
> weblogic
> .application.internal.BaseDeployment.activate(BaseDeployment.java:212)
> at
> weblogic
> .application
> .internal
> .DeploymentStateChecker.activate(DeploymentStateChecker.java:154)
> at
> weblogic
> .deploy
> .internal
> .targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:
> 80)
> at
> weblogic
> .deploy
> .internal
> .targetserver
> .operations.AbstractOperation.activate(AbstractOperation.java:566)
> at
> weblogic
> .deploy
> .internal
> .targetserver
> .operations
> .ActivateOperation.activateDeployment(ActivateOperation.java:136)
>
> at
> weblogic
> .deploy
> .internal
> .targetserver
> .operations.ActivateOperation.doCommit(ActivateOperation.java:104)
> at
> weblogic
> .deploy
> .internal
> .targetserver.operations.StartOperation.doCommit(StartOperation.java:
> 139)
> at
> weblogic
> .deploy
> .internal
> .targetserver
> .operations.AbstractOperation.commit(AbstractOperation.java:320)
> at
> weblogic
> .deploy
> .internal
> .targetserver
> .DeploymentManager.handleDeploymentCommit(DeploymentManager.java:816)
> at
> weblogic
> .deploy
> .internal
> .targetserver
> .DeploymentManager.activateDeploymentList(DeploymentManager.java:1223)
> at
> weblogic
> .deploy
> .internal
> .targetserver.DeploymentManager.handleCommit(DeploymentManager.java:
> 434)
> at
> weblogic
> .deploy
> .internal
> .targetserver
> .DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:
> 161)
>
> at
> weblogic
> .deploy
> .service
> .internal
> .targetserver
> .DeploymentReceiverCallbackDeliverer
> .doCommitCallback(DeploymentReceiverCallbackDeliverer.java
>
> at
> weblogic
> .deploy
> .service
> .internal.targetserver.DeploymentReceiverCallbackDeliverer.access
> $100(DeploymentReceiverCallbackDeliverer.java:12)
>
> at
> weblogic
> .deploy
> .service.internal.targetserver.DeploymentReceiverCallbackDeliverer
> $2.run(DeploymentReceiverCallbackDeliverer.java:67)
>
> at weblogic.work.SelfTuningWorkManagerImpl
> $WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:464)
> at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)
> at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)
> Caused by: java.lang.RuntimeException: Could not load wadl
> generators from wadlGeneratorDescriptions.
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config
> .WadlGeneratorConfig.getWadlGenerator(WadlGeneratorConfig.java:155)
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config
> .WadlGeneratorConfigLoader
> .loadWadlGeneratorsFromConfig(WadlGeneratorConfigLoader.java:97)
>
> ... 52 more
> Caused by: java.lang.IllegalArgumentException: URI is not hierarchical
> at java.io.File.<init>(File.java:335)
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config.WadlGeneratorLoader.setProperty(WadlGeneratorLoader.java:176)
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config
> .WadlGeneratorLoader.loadWadlGenerator(WadlGeneratorLoader.java:135)
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config
> .WadlGeneratorLoader
> .loadWadlGeneratorDescriptions(WadlGeneratorLoader.java:110)
>
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config
> .WadlGeneratorConfig.getWadlGenerator(WadlGeneratorConfig.java:153)
> ... 53 more
>
> at
> weblogic
> .servlet.internal.WebAppModule.startContexts(WebAppModule.java:975)
> at
> weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:361)
> at weblogic.application.internal.flow.ModuleStateDriver
> $3.next(ModuleStateDriver.java:204)
> at
> weblogic
> .application
> .utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
> at
> weblogic
> .application
> .internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:60)
> Truncated. see log file for complete stacktrace
> java.lang.IllegalArgumentException: URI is not hierarchical
> at java.io.File.<init>(File.java:335)
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config.WadlGeneratorLoader.setProperty(WadlGeneratorLoader.java:176)
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config
> .WadlGeneratorLoader.loadWadlGenerator(WadlGeneratorLoader.java:135)
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config
> .WadlGeneratorLoader
> .loadWadlGeneratorDescriptions(WadlGeneratorLoader.java:110)
>
> at
> com
> .sun
> .jersey
> .api
> .wadl
> .config
> .WadlGeneratorConfig.getWadlGenerator(WadlGeneratorConfig.java:153)
> Truncated. see log file for complete stacktrace
> >
>
> _______________________________________________
> Mark A. Rabick
> Software Engineer
> Northrop Grumman - Integrated Mission Systems (IS/DSD/IMS)
> 3200 Samson Way
> Bellevue, NE 68123
> Ph: (402) 293-7091
> Em: mark.rabick_at_ngc.com
> Remember PFC Ross A. McGinnis...
> http://www.army.mil/medalofhonor/McGinnis/index.html
> ... MA2 Michael A. Monsoor, Lt. Michael P. Murphy, Cpl. Jason
> Dunham, SFC Paul Ray Smith and the rest...
> http://www.cmohs.org/recipients/most_recent.htm
>
>