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?. 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 >>> [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