title: Spring NamespaceHandler issue when launching Maven-based GWT App from Eclipse IDE after migration to Spring 3
body: <p>Here's an issue I'm stuck with for multiple hours already, and by now I feel quite desperate.
  I migrated our application from Spring 2.5/Hiberante 3.3 to Spring 3.0.5/Hibernate 3.6. The following was done:</p>
  
  <ul>
  <li>updated spring dependencies/version (now there's more than just a few dependencies)</li>
  <li>updated Hibernate dependencies/version</li>
  <li>updated Spring context XML files in terms of versions for 'schemaLocation'</li>
  </ul>
  
  <p>The error I still have when launching from Eclipse IDE after different minor fixes and tunes, is as following:</p>
  
  <pre><code>Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/tx]
  </code></pre>
  
  <p>I looked through the other threads, and realized that such a problem arises when the specific lib (in this case spring-tx) not found in classpath, but I clearly see it in my Maven dependencies.</p>
  
  <p>The next thing I did, I <strong>built the WAR</strong> as I did it for previous versions, <strong>deployed it on Tomcat, and the app worked fine</strong>!</p>
  
  <p>By this I can make a conclusion that something is missing in Eclipse environment configuration. What's interesting that all complains are about spring-tx,- when I removed the single line utilizing tx namespace 
  <code>&lt;tx:annotation-driven transaction-manager="transactionManager" /&gt;</code>
  .. application started fine without complains about other namespaces (of course, it didn't work fine, but at least there were no complains during the init).</p>
  
  <p>Some summary about my IDE/project setup:</p>
  
  <ul>
  <li>application launch performed by GWT .launch file (GWT ver 2.0.3)</li>
  <li>within this launch file there're references to other projects, including serverside that has spring dependencies</li>
  <li>in fact, this gwt-client project has serverside POM as parent, and as a result I see all of spring dependencies in this project's Maven Dependencies</li>
  <li>GWT-client project has /war/WEB-INF/applicationContext.xml that imports other context XML resources, which are actually utilizing spring-tx</li>
  </ul>
  
  <p>The formal question would be: what are the possible reasons why the project launch from IDE results with such errors after migrating to Spring 3x (and works fine deployed as built WAR)?</p>
  
  <p>I don't expect straight answers (unless someone had exactly the same environment &amp; problem), but guidelines, advices would be of great help!</p>
  
  <p><strong>EDIT</strong>
  Forgot to mention that during app startup from IDE, I have bunch of warnings like these:</p>
  
  <pre><code>[WARN] Server class 'javax.persistence.EntityManagerFactory' could not be found in the web app, but was found on the system classpath
     [WARN] Adding classpath entry 'file:/D:/maven/repository/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.0.Final/hibernate-jpa-2.0-api-1.0.0.Final.jar' to the web app classpath for this session
  [WARN] Server class 'org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor' could not be found in the web app, but was found on the system classpath
     [WARN] Adding classpath entry 'file:/D:/maven/repository/org/springframework/spring-orm/3.0.5.RELEASE/spring-orm-3.0.5.RELEASE.jar' to the web app classpath for this session
  </code></pre>
  
  <p>.. so maybe spring-tx also is not found in web-app (and found on the system classpath), but it's not added like that happened with the others? What would be the reason of this behavior?</p>