spring - JMS, ActiveMQ plugin - ClassNotFoundException -
i'm trying use activemq plugin, have troubles. pom.xml:
<dependency> <groupid>org.apache.activemq</groupid> <artifactid>activemq-core</artifactid> <version>5.4.2</version> </dependency> <dependency> <groupid>org.apache.xbean</groupid> <artifactid>xbean-spring</artifactid> <version>3.7</version> </dependency> ... <pluginmanagement> <plugins> ... <plugin> <groupid>org.apache.activemq.tooling</groupid> <artifactid>maven-activemq-plugin</artifactid> <version>5.4.2</version> <configuration> <configuri>xbean:file:src/main/resources/jms/activemq/activemq.xml</configuri> <fork>false</fork> <systemproperties> <property> <name>javax.net.ssl.keystorepassword</name> <value>password</value> </property> <property> <name>org.apache.activemq.default.directory.prefix</name> <value>./target/</value> </property> </systemproperties> </configuration> <dependencies> <dependency> <groupid>org.springframework</groupid> <artifactid>spring</artifactid> <version>2.5.6</version> </dependency> <dependency> <groupid>org.mortbay.jetty</groupid> <artifactid>jetty-xbean</artifactid> <version>6.1.26</version> </dependency> <dependency> <groupid>org.apache.camel</groupid> <artifactid>camel-activemq</artifactid> <version>1.1.0</version> </dependency> </dependencies> </plugin> </plugins> </pluginmanagement>
activemq.xml:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:xi="http://www.w3.org/2001/xinclude" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core-5.4.2.xsd"> <amq:broker usejmx="false" persistent="false" datadirectory="target/activemq-data"> <amq:transportconnectors> <amq:transportconnector name="openwire" uri="tcp://localhost:61616" /> </amq:transportconnectors> </amq:broker> <amq:queue id="destination" physicalname="org.apache.activemq.command.activemqqueue" /> <amq:connectionfactory id="jmsconnectionfactory" brokerurl="vm://localhost" /> <bean id="jmstemplate" class="org.springframework.jms.core.jmstemplate"> <property name="connectionfactory"> <!-- lets wrap in pool avoid creating connection per send --> <bean class="org.springframework.jms.connection.singleconnectionfactory"> <property name="targetconnectionfactory"> <ref local="jmsconnectionfactory" /> </property> </bean> </property> </bean> <bean id="consumerjmstemplate" class="org.springframework.jms.core.jmstemplate"> <property name="connectionfactory" ref="jmsconnectionfactory" /> <property name="receivetimeout" value="60000" /> </bean> <bean id="producer" class="com.bontade.mvc.jms.implementations.carrentaljmsgatewayimplementation"> <property name="template"> <ref bean="jmstemplate"></ref> </property> <property name="destination"> <ref bean="destination" /> </property> </bean> <bean id="consumer" class="com.bontade.mvc.jms.implementations.carrentalreceivergatewayimplementation"> <property name="template" ref="consumerjmstemplate" /> <property name="destination" ref="destination" /> </bean>
but i'm still getting (mvn activemq:run -e):
update
[info] --- maven-activemq-plugin:5.4.2:run (default-cli) @ carrentalmaven2xsltjsptiles2tomcat --- [info] loading broker configuri: xbean:file:src/main/resources/jms/activemq/activemq.xml 2011-02-18 14:02:49 org.springframework.context.support.abstractapplicationcontext preparerefresh info: refreshing org.apache.activemq.xbean.xbeanbrokerfactory$1@4edc024a: display name [org.apache.activemq.xbean.xbeanbrokerfactory$1@4edc024a]; startup date [fri feb 18 14:02:49 cet 2011]; root of context hierarchy 2011-02-18 14:02:49 org.springframework.beans.factory.xml.xmlbeandefinitionreader loadbeandefinitions info: loading xml bean definitions url [file:src/main/resources/jms/activemq/activemq.xml] [info] ------------------------------------------------------------------------ [info] build failure [info] ------------------------------------------------------------------------ [info] total time: 4.495s [info] finished at: fri feb 18 14:02:50 cet 2011 [info] final memory: 15m/140m [info] ------------------------------------------------------------------------ [error] failed execute goal org.apache.activemq.tooling:maven-activemq-plugin:5.4.2:run (default-cli) on project carrentalmaven2xsltjsptiles2tomcat: failed start activemq broker: failed load type: com.bontade.mvc.jms.implementations.carrentaljmsgatewayimplementation. reason: java.lang.classnotfoundexception: com.bontade.mvc.jms.implementations.carrentaljmsgatewayimplementation; nested exception java.lang.classnotfoundexception: com.bontade.mvc.jms.implementations.carrentaljmsgatewayimplementation -> [help 1] org.apache.maven.lifecycle.lifecycleexecutionexception: failed execute goal org.apache.activemq.tooling:maven-activemq-plugin:5.4.2:run (default-cli) on project carrentalmaven2xsltjsptiles2tomcat: failed start activemq broker @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:203) @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:148) @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:140) @ org.apache.maven.lifecycle.internal.lifecyclemodulebuilder.buildproject(lifecyclemodulebuilder.java:84) @ org.apache.maven.lifecycle.internal.lifecyclemodulebuilder.buildproject(lifecyclemodulebuilder.java:59) @ org.apache.maven.lifecycle.internal.lifecyclestarter.singlethreadedbuild(lifecyclestarter.java:183) @ org.apache.maven.lifecycle.internal.lifecyclestarter.execute(lifecyclestarter.java:161) @ org.apache.maven.defaultmaven.doexecute(defaultmaven.java:316) @ org.apache.maven.defaultmaven.execute(defaultmaven.java:153) @ org.apache.maven.cli.mavencli.execute(mavencli.java:451) @ org.apache.maven.cli.mavencli.domain(mavencli.java:188) @ org.apache.maven.cli.mavencli.main(mavencli.java:134) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39) @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25) @ java.lang.reflect.method.invoke(method.java:597) @ org.codehaus.plexus.classworlds.launcher.launcher.launchenhanced(launcher.java:290) @ org.codehaus.plexus.classworlds.launcher.launcher.launch(launcher.java:230) @ org.codehaus.plexus.classworlds.launcher.launcher.mainwithexitcode(launcher.java:409) @ org.codehaus.plexus.classworlds.launcher.launcher.main(launcher.java:352) caused by: org.apache.maven.plugin.mojoexecutionexception: failed start activemq broker @ org.apache.activemq.maven.brokermojo.execute(brokermojo.java:107) @ org.apache.maven.plugin.defaultbuildpluginmanager.executemojo(defaultbuildpluginmanager.java:107) @ org.apache.maven.lifecycle.internal.mojoexecutor.execute(mojoexecutor.java:195) ... 19 more caused by: org.springframework.beans.factory.beandefinitionstoreexception: failed load type: com.bontade.mvc.jms.implementations.carrentaljmsgatewayimplementation. reason: java.lang.classnotfoundexception: com.bontade.mvc.jms.implementations.carrentaljmsgatewayimplementation; nested exception java.lang.classnotfoundexception: com.bontade.mvc.jms.implementations.carrentaljmsgatewayimplementation @ org.apache.xbean.spring.context.v2c.xbeanqnamehelper.getbeaninfo(xbeanqnamehelper.java:75) @ org.apache.xbean.spring.context.v2c.xbeanqnamehelper.coercenamespaceawarepropertyvalues(xbeanqnamehelper.java:54) @ org.apache.xbean.spring.context.v2c.xbeanbeandefinitionparserdelegate.parsebeandefinitionelement(xbeanbeandefinitionparserdelegate.java:59) @ org.springframework.beans.factory.xml.beandefinitionparserdelegate.parsebeandefinitionelement(beandefinitionparserdelegate.java:389) @ org.springframework.beans.factory.xml.beandefinitionparserdelegate.parsebeandefinitionelement(beandefinitionparserdelegate.java:358) @ org.apache.xbean.spring.context.v2.xbeanbeandefinitiondocumentreader.processbeandefinition(xbeanbeandefinitiondocumentreader.java:174) @ org.apache.xbean.spring.context.v2.xbeanbeandefinitiondocumentreader.parsedefaultelement(xbeanbeandefinitiondocumentreader.java:101) @ org.apache.xbean.spring.context.v2.xbeanbeandefinitiondocumentreader.parsebeandefinitions(xbeanbeandefinitiondocumentreader.java:81) @ org.springframework.beans.factory.xml.defaultbeandefinitiondocumentreader.registerbeandefinitions(defaultbeandefinitiondocumentreader.java:92) @ org.springframework.beans.factory.xml.xmlbeandefinitionreader.registerbeandefinitions(xmlbeandefinitionreader.java:507) @ org.apache.xbean.spring.context.v2.xbeanxmlbeandefinitionreader.registerbeandefinitions(xbeanxmlbeandefinitionreader.java:79) @ org.springframework.beans.factory.xml.xmlbeandefinitionreader.doloadbeandefinitions(xmlbeandefinitionreader.java:398) @ org.springframework.beans.factory.xml.xmlbeandefinitionreader.loadbeandefinitions(xmlbeandefinitionreader.java:342) @ org.springframework.beans.factory.xml.xmlbeandefinitionreader.loadbeandefinitions(xmlbeandefinitionreader.java:310) @ org.apache.xbean.spring.context.resourcexmlapplicationcontext.loadbeandefinitions(resourcexmlapplicationcontext.java:111) @ org.apache.xbean.spring.context.resourcexmlapplicationcontext.loadbeandefinitions(resourcexmlapplicationcontext.java:104) @ org.springframework.context.support.abstractrefreshableapplicationcontext.refreshbeanfactory(abstractrefreshableapplicationcontext.java:123) @ org.springframework.context.support.abstractapplicationcontext.obtainfreshbeanfactory(abstractapplicationcontext.java:422) @ org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:352) @ org.apache.xbean.spring.context.resourcexmlapplicationcontext.<init>(resourcexmlapplicationcontext.java:64) @ org.apache.xbean.spring.context.resourcexmlapplicationcontext.<init>(resourcexmlapplicationcontext.java:52) @ org.apache.activemq.xbean.xbeanbrokerfactory$1.<init>(xbeanbrokerfactory.java:117) @ org.apache.activemq.xbean.xbeanbrokerfactory.createapplicationcontext(xbeanbrokerfactory.java:115) @ org.apache.activemq.xbean.xbeanbrokerfactory.createbroker(xbeanbrokerfactory.java:71) @ org.apache.activemq.broker.brokerfactory.createbroker(brokerfactory.java:71) @ org.apache.activemq.broker.brokerfactory.createbroker(brokerfactory.java:54) @ org.apache.activemq.broker.brokerfactory.createbroker(brokerfactory.java:85) @ org.apache.activemq.maven.brokermojo.execute(brokermojo.java:90) ... 21 more caused by: java.lang.classnotfoundexception: com.bontade.mvc.jms.implementations.carrentaljmsgatewayimplementation @ org.codehaus.plexus.classworlds.strategy.selffirststrategy.loadclass(selffirststrategy.java:50) @ org.codehaus.plexus.classworlds.realm.classrealm.loadclass(classrealm.java:244) @ org.codehaus.plexus.classworlds.realm.classrealm.loadclass(classrealm.java:230) @ org.apache.xbean.spring.context.v2c.xbeanqnamehelper.loadclass(xbeanqnamehelper.java:107) @ org.apache.xbean.spring.context.v2c.xbeanqnamehelper.getbeaninfo(xbeanqnamehelper.java:72) ... 48 more [error] [error] re-run maven using -x switch enable full debug logging. [error] [error] more information errors , possible solutions, please read following articles: [error] [help 1] http://cwiki.apache.org/confluence/display/maven/mojoexecutionexception
carrentaljmsgatewayimplementation exists inside target folder.
what wrong it?
ok, you're using 1 of own classes in plugin, need declare dependency, plugin creates custom classpath. try adding following in pom, in plugin dependecies section.
<dependency> <groupid>your-group-id</groupid> <artifactid>your-artifact-id</artifactid> <version>${project.version}</version> </dependency>
Comments
Post a Comment