1. java.lang.NoSuchMethodError: org.springframework.beans.BeanUtils.instantiateClass
Solution: http://stackoverflow.com/questions/8237181/spring-junit-test-error
Background: struts-spring-plugin 2.3.7 depends on Spring 3.0.5 transitively, we need to explicitly add Spring 3.1.x dependencies.
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.1.3.RELEASE</version>
</dependency>
2. java.io.FileNotFoundException: class path resource [classpath:META-INF/persistence.xml] cannot be opened because it does not exist
Caused by redundant spaces, as shown below:
<property name="persistenceXmlLocation">
<value>
classpath*:META-INF/persistence.xml
</value>
</property>
Correted it as below:
<property name="persistenceXmlLocation">
<value>classpath*:META-INF/persistence.xml</value>
</property>