I do the configration as following:
<plugin>
<!-- for Tomcat 7, change to tomcat7-maven-plugin -->
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<path>/mycompany</path>
<warSourceDirectory>${webappDirectory}</warSourceDirectory>
<port>8080</port>
</configuration>
</plugin>
then I have changed the site/build.xml by adding
<target name="tomcat-demo" depends="start-db">
<delete dir="war/WEB-INF/lib"/>
<artifact:mvn mavenHome="${maven.home}" fork="true" jvmargs="-DbroadleafCoreDirectory=${broadleafCoreDirectory} -DbroadleafWorkspaceDirectory=${broadleafWorkspaceDirectory} -XX:MaxPermSize=256M -Xmx512M">
<arg value="compile"/>
<arg value="war:exploded"/>
<arg value="tomcat7:run-war"/>
</artifact:mvn>
</target>
....
I have tried to add a META-INF/context.xml file for Tomcat and i have referenced the resources in web.xml like this:
context.xml
<Context>
<Resource name="jdbc/web" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="abc" password="" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/broadleaf"/>
<Resource name="jdbc/secure" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="abc" password="" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/broadleaf"/>
<Resource name="jdbc/storage" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="abc" password="" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/broadleaf"/>
</Context>
and added to web.xml
<resource-ref>
<description>Shop DB Connection</description>
<res-ref-name>jdbc/web</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<description>Payment Connection</description>
<res-ref-name>jdbc/secure</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<resource-ref>
<description>CMS Connection</description>
<res-ref-name>jdbc/storage</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
But the server is still error with the log showing below:
Code: Select all
[ERROR] 15:12:31 ContextLoader - Context initialization failed
[artifact:mvn] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in resource loaded from byte array: Cannot resolve reference to bean 'blPersistenceUnitManager' while setting bean property 'persistenceUnitManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blPersistenceUnitManager' defined in resource loaded from byte array: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.lang.reflect.UndeclaredThrowableException
[artifact:mvn] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
[artifact:mvn] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
[artifact:mvn] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
[artifact:mvn] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117)
[artifact:mvn] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:922)
[artifact:mvn] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
[artifact:mvn] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
[artifact:mvn] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
[artifact:mvn] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
[artifact:mvn] at org.broadleafcommerce.common.web.extensibility.MergeContextLoaderListener.contextInitialized(MergeContextLoaderListener.java:47)
[artifact:mvn] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
[artifact:mvn] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
[artifact:mvn] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
[artifact:mvn] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
[artifact:mvn] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
[artifact:mvn] at java.util.concurrent.FutureTask.run(FutureTask.java:262)
[artifact:mvn] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[artifact:mvn] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[artifact:mvn] at java.lang.Thread.run(Thread.java:744)
[artifact:mvn] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blPersistenceUnitManager' defined in resource loaded from byte array: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.lang.reflect.UndeclaredThrowableException
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1488)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
[artifact:mvn] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
[artifact:mvn] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
[artifact:mvn] ... 25 more
[artifact:mvn] Caused by: java.lang.RuntimeException: java.lang.reflect.UndeclaredThrowableException
[artifact:mvn] at org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager.preparePersistenceUnitInfos(MergePersistenceUnitManager.java:241)
[artifact:mvn] at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:346)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485)
[artifact:mvn] ... 32 more
[artifact:mvn] Caused by: java.lang.reflect.UndeclaredThrowableException
[artifact:mvn] at com.sun.proxy.$Proxy37.addTransformer(Unknown Source)
[artifact:mvn] at org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager.preparePersistenceUnitInfos(MergePersistenceUnitManager.java:223)
[artifact:mvn] ... 35 more
[artifact:mvn] Caused by: java.lang.reflect.InvocationTargetException
[artifact:mvn] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[artifact:mvn] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[artifact:mvn] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[artifact:mvn] at java.lang.reflect.Method.invoke(Method.java:606)
[artifact:mvn] at org.springframework.orm.jpa.persistenceunit.Jpa2PersistenceUnitInfoDecorator.invoke(Jpa2PersistenceUnitInfoDecorator.java:64)
[artifact:mvn] ... 37 more
[artifact:mvn] Caused by: java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified
[artifact:mvn] at org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.addTransformer(SpringPersistenceUnitInfo.java:109)
[artifact:mvn] ... 42 more
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.core.StandardContext listenerStart
[artifact:mvn] SEVERE: Exception sending context initialized event to listener instance of class org.broadleafcommerce.common.web.extensibility.MergeContextLoaderListener
[artifact:mvn] org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in resource loaded from byte array: Cannot resolve reference to bean 'blPersistenceUnitManager' while setting bean property 'persistenceUnitManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blPersistenceUnitManager' defined in resource loaded from byte array: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.lang.reflect.UndeclaredThrowableException
[artifact:mvn] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:329)
[artifact:mvn] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:107)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1393)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1134)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
[artifact:mvn] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
[artifact:mvn] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117)
[artifact:mvn] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:922)
[artifact:mvn] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
[artifact:mvn] at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
[artifact:mvn] at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
[artifact:mvn] at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
[artifact:mvn] at org.broadleafcommerce.common.web.extensibility.MergeContextLoaderListener.contextInitialized(MergeContextLoaderListener.java:47)
[artifact:mvn] at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4797)
[artifact:mvn] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5291)
[artifact:mvn] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
[artifact:mvn] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
[artifact:mvn] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
[artifact:mvn] at java.util.concurrent.FutureTask.run(FutureTask.java:262)
[artifact:mvn] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[artifact:mvn] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[artifact:mvn] at java.lang.Thread.run(Thread.java:744)
[artifact:mvn] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'blPersistenceUnitManager' defined in resource loaded from byte array: Invocation of init method failed; nested exception is java.lang.RuntimeException: java.lang.reflect.UndeclaredThrowableException
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1488)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
[artifact:mvn] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
[artifact:mvn] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:323)
[artifact:mvn] ... 25 more
[artifact:mvn] Caused by: java.lang.RuntimeException: java.lang.reflect.UndeclaredThrowableException
[artifact:mvn] at org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager.preparePersistenceUnitInfos(MergePersistenceUnitManager.java:241)
[artifact:mvn] at org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager.afterPropertiesSet(DefaultPersistenceUnitManager.java:346)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547)
[artifact:mvn] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485)
[artifact:mvn] ... 32 more
[artifact:mvn] Caused by: java.lang.reflect.UndeclaredThrowableException
[artifact:mvn] at com.sun.proxy.$Proxy37.addTransformer(Unknown Source)
[artifact:mvn] at org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager.preparePersistenceUnitInfos(MergePersistenceUnitManager.java:223)
[artifact:mvn] ... 35 more
[artifact:mvn] Caused by: java.lang.reflect.InvocationTargetException
[artifact:mvn] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[artifact:mvn] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[artifact:mvn] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[artifact:mvn] at java.lang.reflect.Method.invoke(Method.java:606)
[artifact:mvn] at org.springframework.orm.jpa.persistenceunit.Jpa2PersistenceUnitInfoDecorator.invoke(Jpa2PersistenceUnitInfoDecorator.java:64)
[artifact:mvn] ... 37 more
[artifact:mvn] Caused by: java.lang.IllegalStateException: Cannot apply class transformer without LoadTimeWeaver specified
[artifact:mvn] at org.springframework.orm.jpa.persistenceunit.SpringPersistenceUnitInfo.addTransformer(SpringPersistenceUnitInfo.java:109)
[artifact:mvn] ... 42 more
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.core.StandardContext startInternal
[artifact:mvn] SEVERE: Error listenerStart
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.core.StandardContext startInternal
[artifact:mvn] SEVERE: Context [/dylan] startup failed due to previous errors
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.core.ApplicationContext log
[artifact:mvn] INFO: Closing Spring root WebApplicationContext
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.core.ApplicationContext log
[artifact:mvn] INFO: Shutting down log4j
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
[artifact:mvn] SEVERE: The web application [/dylan] registered the JDBC driver [org.hsqldb.jdbc.JDBCDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
[artifact:mvn] SEVERE: The web application [/dylan] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
[artifact:mvn] SEVERE: The web application [/dylan] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak.
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
[artifact:mvn] SEVERE: The web application [/dylan] created a ThreadLocal with key of type [org.broadleafcommerce.common.classloader.release.ThreadLocalManager$2] (value [org.broadleafcommerce.common.classloader.release.ThreadLocalManager$2@36d310d7]) and a value of type [org.broadleafcommerce.common.extensibility.jpa.ConfigurationOnlyState] (value [org.broadleafcommerce.common.extensibility.jpa.ConfigurationOnlyState@5af6af5f]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.catalina.loader.WebappClassLoader checkThreadLocalMapForLeaks
[artifact:mvn] SEVERE: The web application [/dylan] created a ThreadLocal with key of type [org.broadleafcommerce.common.classloader.release.ThreadLocalManager$1] (value [org.broadleafcommerce.common.classloader.release.ThreadLocalManager$1@7973b4a0]) and a value of type [org.broadleafcommerce.common.classloader.release.ThreadLocalManager] (value [org.broadleafcommerce.common.classloader.release.ThreadLocalManager@1b57b2ab]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
[artifact:mvn] Dec 05, 2013 3:12:31 PM org.apache.coyote.AbstractProtocol start
[artifact:mvn] INFO: Starting ProtocolHandler ["http-bio-8080"]
[artifact:mvn] Dec 05, 2013 3:12:40 PM org.apache.catalina.loader.WebappClassLoader findResourceInternal
[artifact:mvn] INFO: Illegal access: this web application instance has been stopped already. Could not load org/terracotta/bigmemory/version.properties. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
[artifact:mvn] Dec 05, 2013 3:12:40 PM org.apache.catalina.loader.WebappClassLoader findResourceInternal
[artifact:mvn] INFO: Illegal access: this web application instance has been stopped already. Could not load net/sf/ehcache/version.properties. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.