You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "jeff porter (JIRA)" <ji...@apache.org> on 2012/09/04 17:48:07 UTC
[jira] [Closed] (WW-3869) Spring 3.1.2.RELEASE, causes
NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable
[ https://issues.apache.org/jira/browse/WW-3869?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
jeff porter closed WW-3869.
---------------------------
Resolution: Not A Problem
spring-core was not in POM.xml
> Spring 3.1.2.RELEASE, causes NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable
> --------------------------------------------------------------------------------------------------
>
> Key: WW-3869
> URL: https://issues.apache.org/jira/browse/WW-3869
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - JUnit, Plugin - Spring
> Affects Versions: 2.3.4.1
> Environment: Windows.
> Java 1.6.
> Junit 4.
> spring '3.1.2.RELEASE' or '3.1.1.RELEASE' or '3.1.0.RELEASE'
> struts2-core 2.3.4.1
> Tested with struts2-junit-plugin '2.3.5-SNAPSHOT' and '2.3.4.1'
> Reporter: jeff porter
> Labels: patch
>
> trying to load an Action class for unit testing give the following exception...
> {code}
> java.lang.NoClassDefFoundError: org/springframework/core/env/EnvironmentCapable
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
> at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
> at java.lang.Class.getMethod0(Class.java:2670)
> at java.lang.Class.getMethod0(Class.java:2679)
> at java.lang.Class.getMethod(Class.java:1603)
> at org.junit.internal.builders.SuiteMethodBuilder.hasSuiteMethod(SuiteMethodBuilder.java:20)
> at org.junit.internal.builders.SuiteMethodBuilder.runnerForClass(SuiteMethodBuilder.java:13)
> at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
> at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
> at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
> at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:33)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:48)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: java.lang.ClassNotFoundException: org.springframework.core.env.EnvironmentCapable
> at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> ... 31 more
> {code}
> Here is the example Java code.
> {code:java}
> import static org.junit.Assert.assertTrue;
> import static org.junit.Assert.assertNotNull;
> import org.apache.struts2.StrutsSpringJUnit4TestCase;
> import org.junit.Before;
> import org.junit.Test;
> import com.opensymphony.xwork2.ActionProxy;
> public class ATest extends StrutsSpringJUnit4TestCase<RepublishTransactionsAction>
> {
> @Before
> public void onSetUp() throws Exception
> {
> ActionProxy proxy = getActionProxy("repubAction");
> assertNotNull(proxy);
> }
> @Test
> public void test() {
> assertTrue(true);
> }
> }
> {code}
> If I change my dependencies from:spring '3.1.2.RELEASE'
> to spring '3.0.5.RELEASE' then it works. I'm aware the Maven dependency states it requires 3.0.5 only.
> I've look through JIRA and can't find a task for this, or anyone with the same problem. I've also checked Stack Overflow.
> If this is down to user error on my part, then fine. But I'm sure that
> its due to a change on the Spring API side.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira