Hi, Inline 2012/8/28 Knute Snortum <ksnor...@catalystitservices.com>: > If this is the wrong mailing list for tomcat7-maven-plugin, could someone > direct me to the right place? > > I'm developing a Vaadin web app in Eclipse Juno on Windows 7 and I'm using > the tomcat7-maven-plugin 2.0-beta-1 to help in development by running the app > in Tomcat inside of the IDE -- or I'm trying. The error I'm getting is: > > org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean > definition with name 'dataSource' defined in ServletContext resource > [/WEB-INF/applicationContext.xml]: Could not resolve placeholder > 'db.driverClassName' in string value [${db.driverClassName}] > > "applicationContext.xml" is my Spring context file. I have placeholders in > it to point to the correct database based on Maven profiles and filtering. > So a piece of applicationContext.xml looks like this: > > <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" > destroy-method="close"> > <property name="driverClassName" > value="${db.driverClassName}" /> > <property name="url" value="${db.url}" /> > <property name="username" value="${db.username}" /> > <property name="password" value="${db.password}" /> > <property name="maxActive" value="10" /> > <property name="maxIdle" value="1" /> > </bean> > > As you can see, Tomcat (or Spring?) is finding the dataSource bean that does > not have the placeholders replaced yet. > > The odd thing is that in the war file and the directory under target that the > war file is created from, all the place holders have been correctly > substituted. I can see them in an editor. The context file with the > placeholders is the one still sitting in my development folder. > > So my question is, why isn't the Tomcat plugin seeing the context file in the > war file or folder? And if it looks in the development folder for the file, > can Maven filtering work with the plugin?. > as you are using gwt maven plugin, I'm not sure that works. Something you can do is using sys properties in tomcat7/6-maven-plugin (spring placeholder resolves against sys props too). Add you sys props as it: http://tomcat.apache.org/maven-plugin-2.0-SNAPSHOT/tomcat6-maven-plugin/examples/add-system-properties.html
> Below is part of the messages created by Maven et al in my IDE console. I've > left out the clean and testing messages and most of the stacktrace, which I > think is from Spring anyway: > > [INFO] > [INFO] --- gwt-maven-plugin:2.4.0:compile (default) @ dpt --- > [INFO] auto discovered modules > [com.catalystitservices.nike.dpt.widgetset.DptWidgetset] > [INFO] com.catalystitservices.nike.dpt.widgetset.DptWidgetset is up to date. > GWT compilation skipped > [INFO] > [INFO] --- maven-war-plugin:2.2:war (default-war) @ dpt --- > [INFO] Packaging webapp > [INFO] Assembling webapp [dpt] in [C:\Projects\DPT\target\dpt] > [INFO] Processing war project > [INFO] Copying webapp webResources [C:\Projects\DPT\src/main/webapp/] to > [C:\Projects\DPT\target\dpt] > [INFO] Copying webapp resources [C:\Projects\DPT\src\main\webapp] > [INFO] Webapp assembled in [1442 msecs] > [INFO] Building war: C:\Projects\DPT\target\dpt.war > [INFO] > [INFO] --- tomcat7-maven-plugin:2.0-beta-1:exec-war-only (tomcat-run) @ dpt > --- > [INFO] > [INFO] --- maven-install-plugin:2.3.1:install (default-install) @ dpt --- > [INFO] Installing C:\Projects\DPT\target\dpt.war to > C:\Users\ksnortum\.m2\repository\com\nike\dpt\dpt\1.1-SNAPSHOT\dpt-1.1-SNAPSHOT.war > [INFO] Installing C:\Projects\DPT\pom.xml to > C:\Users\ksnortum\.m2\repository\com\nike\dpt\dpt\1.1-SNAPSHOT\dpt-1.1-SNAPSHOT.pom > [INFO] Installing C:\Projects\DPT\target\dpt-1.1-SNAPSHOT-war-exec.jar to > C:\Users\ksnortum\.m2\repository\com\nike\dpt\dpt\1.1-SNAPSHOT\dpt-1.1-SNAPSHOT-exec-war.jar > [INFO] > [INFO] >>> tomcat-maven-plugin:1.1:run (default-cli) @ dpt >>> you are using an old version here ? Don't you have duplicate entries in your pom ? > [INFO] > [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ dpt --- > [debug] execute contextualize > [INFO] Using 'UTF-8' encoding to copy filtered resources. > [INFO] Copying 3 resources > [INFO] Copying 3 resources > [INFO] > [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ dpt --- > [INFO] Nothing to compile - all classes are up to date > [INFO] > [INFO] <<< tomcat-maven-plugin:1.1:run (default-cli) @ dpt <<< > [INFO] > [INFO] --- tomcat-maven-plugin:1.1:run (default-cli) @ dpt --- > [INFO] Running war on http://localhost:8080/dpt > [INFO] Creating Tomcat server configuration at C:\Projects\DPT\target\tomcat > Aug 28, 2012 10:13:59 AM org.apache.catalina.startup.Embedded start > INFO: Starting tomcat server > Aug 28, 2012 10:14:00 AM org.apache.catalina.core.StandardEngine start > INFO: Starting Servlet Engine: Apache Tomcat/6.0.29 > Aug 28, 2012 10:14:00 AM org.apache.catalina.core.ApplicationContext log > INFO: Set web app root system property: 'webapp.root' = > [C:\Projects\DPT\src\main\webapp\] > Aug 28, 2012 10:14:00 AM org.apache.catalina.core.ApplicationContext log > INFO: Initializing log4j from [classpath:log4j.properties] > Aug 28, 2012 10:14:00 AM org.apache.catalina.core.ApplicationContext log > INFO: Initializing Spring root WebApplicationContext > 28.08.2012 10:14:00 INFO (ContextLoader.java:272) - Root > WebApplicationContext: initialization started > 28.08.2012 10:14:00 INFO (AbstractApplicationContext.java:500) - Refreshing > Root WebApplicationContext: startup date [Tue Aug 28 10:14:00 PDT 2012]; root > of context hierarchy > 28.08.2012 10:14:00 INFO (XmlBeanDefinitionReader.java:315) - Loading XML > bean definitions from ServletContext resource > [/WEB-INF/applicationContext.xml] > 28.08.2012 10:14:01 INFO (XmlBeanDefinitionReader.java:315) - Loading XML > bean definitions from ServletContext resource > [/WEB-INF/applicationContext-security.xml] > 28.08.2012 10:14:01 INFO (SpringSecurityCoreVersion.java:33) - You are > running with Spring Security Core 3.1.0.RELEASE > 28.08.2012 10:14:01 INFO (SecurityNamespaceHandler.java:57) - Spring > Security 'config' module version is 3.1.0.RELEASE > 28.08.2012 10:14:01 INFO (HttpSecurityBeanDefinitionParser.java:229) - > Checking sorted filter chain: [Root bean: class > [org.springframework.security.web.context.SecurityContextPersistenceFilter]; > scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; > autowireCandidate=true; primary=false; factoryBeanName=null; > factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = > 300, Root bean: class > [org.springframework.security.web.authentication.logout.LogoutFilter]; > scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; > autowireCandidate=true; primary=false; factoryBeanName=null; > factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = > 400, > <org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter#0>, > order = 800, Root bean: class > [org.springframework.security.web.authentication.www.BasicAuthenticationFilter]; > scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; > autowireCandidate=true; primary=false; factoryBeanName=null; > factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = > 1200, Root bean: class > [org.springframework.security.web.savedrequest.RequestCacheAwareFilter]; > scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; > autowireCandidate=true; primary=false; factoryBeanName=null; > factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = > 1300, Root bean: class > [org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter]; > scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; > autowireCandidate=true; primary=false; factoryBeanName=null; > factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = > 1400, Root bean: class > [org.springframework.security.web.authentication.AnonymousAuthenticationFilter]; > scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; > autowireCandidate=true; primary=false; factoryBeanName=null; > factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = > 1700, Root bean: class > [org.springframework.security.web.session.SessionManagementFilter]; scope=; > abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; > autowireCandidate=true; primary=false; factoryBeanName=null; > factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = > 1800, Root bean: class > [org.springframework.security.web.access.ExceptionTranslationFilter]; scope=; > abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; > autowireCandidate=true; primary=false; factoryBeanName=null; > factoryMethodName=null; initMethodName=null; destroyMethodName=null, order = > 1900, > <org.springframework.security.web.access.intercept.FilterSecurityInterceptor#0>, > order = 2000] > 28.08.2012 10:14:01 INFO (PropertiesLoaderSupport.java:177) - Loading > properties file from file [C:\Projects\DPT\target\classes\log4j.properties] > 28.08.2012 10:14:01 INFO (DefaultSingletonBeanRegistry.java:433) - > Destroying singletons in > org.springframework.beans.factory.support.DefaultListableBeanFactory@378c3efb: > defining beans > [org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0,<long > list of beans removed>]; root of factory hierarchy > 28.08.2012 10:14:01 ERROR (ContextLoader.java:307) - Context initialization > failed > org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean > definition with name 'dataSource' defined in ServletContext resource > [/WEB-INF/applicationContext.xml]: Could not resolve placeholder > 'db.driverClassName' in string value [${db.driverClassName}] > > --- > Knute Snortum > Developer > Catalyst IT Services > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > -- Olivier Lamy Talend: http://coders.talend.com http://twitter.com/olamy | http://linkedin.com/in/olamy --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org