Uploaded image for project: 'Spring Framework'
  1. Spring Framework
  2. SPR-11086

@PropertySources fails on JDK 7 due to @Repeatable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Complete
    • Affects Version/s: None
    • Fix Version/s: 4.0 RC2
    • Component/s: None
    • Labels:
      None
    • Last commented by a User:
      true

      Description

      https://github.com/spring-projects/spring-framework/commit/e95bd9e25086bf1dad37f8d08293c948621faf6b#commitcomment-4547605

      @philwebb How is this supposed to work when using JDK < 8? java.lang.annotation.repetable seems to have @Retention(RetentionPolicy.RUNTIME)... We just tried to run an example which uses @PropertySource using JDK 1.7 and it fails with a ClassNotFoundException!

        Activity

        Hide
        juergen.hoeller Juergen Hoeller added a comment -

        The trick is that the JDK itself - ever since some JDK 5 update back then, and definitely since JDK 6 - ignores annotations that are not present in the classpath at class load time, at least for standard class loading purposes.

        So if you got a ClassNotFoundException, where specifically did that come from? Our ASM-based component scanning maybe, or some reflection-based algorithm? We should be able to ignore such non-present annotations there as well.

        Juergen

        Show
        juergen.hoeller Juergen Hoeller added a comment - The trick is that the JDK itself - ever since some JDK 5 update back then, and definitely since JDK 6 - ignores annotations that are not present in the classpath at class load time, at least for standard class loading purposes. So if you got a ClassNotFoundException, where specifically did that come from? Our ASM-based component scanning maybe, or some reflection-based algorithm? We should be able to ignore such non-present annotations there as well. Juergen
        Hide
        juergen.hoeller Juergen Hoeller added a comment - - edited

        Running our spring-context test suite (which includes @PropertySource and @Scheduled tests, with both of those annotations marked as repeatable) on JDK 1.7 works fine, except for the expected java.time test failures. So our non-present annotation ignoring rule seems to work in those scenarios. (In case you wonder, this is with a locally modified build that compiled on 1.8 and runs the tests on 1.7 now.)

        Once again, it would be really good to know where that ClassNotFoundException above came from! Even just the stacktrace would be really helpful.

        Juergen

        Show
        juergen.hoeller Juergen Hoeller added a comment - - edited Running our spring-context test suite (which includes @PropertySource and @Scheduled tests, with both of those annotations marked as repeatable) on JDK 1.7 works fine, except for the expected java.time test failures. So our non-present annotation ignoring rule seems to work in those scenarios. (In case you wonder, this is with a locally modified build that compiled on 1.8 and runs the tests on 1.7 now.) Once again, it would be really good to know where that ClassNotFoundException above came from! Even just the stacktrace would be really helpful. Juergen
        Hide
        matthias.koester Matthias Köster added a comment -

        Hi Jürgen,

        We experienced the problem on the computer (Mac OS X) of a colleague of mine. He send me an example project, but today I wasn't able to reproduce the problem on my machine (Mac OS X too). We keep in touch with you, but it's very unlikely that we can provide further information this week.

        Thanks a lot for following up so quickly!

        Regards,
        Matthias

        Show
        matthias.koester Matthias Köster added a comment - Hi Jürgen, We experienced the problem on the computer (Mac OS X) of a colleague of mine. He send me an example project, but today I wasn't able to reproduce the problem on my machine (Mac OS X too). We keep in touch with you, but it's very unlikely that we can provide further information this week. Thanks a lot for following up so quickly! Regards, Matthias
        Hide
        mezza9 Rafał Borowiec added a comment -

        Hi,

        I also experienced the mentioned problem. As a matter of fact, I described this on my blog (before noticing this issue).

        http://blog.codeleak.pl/2013/11/how-to-propertysource-annotations-in.html

        In case you need more details let me know.

        Show
        mezza9 Rafał Borowiec added a comment - Hi, I also experienced the mentioned problem. As a matter of fact, I described this on my blog (before noticing this issue). http://blog.codeleak.pl/2013/11/how-to-propertysource-annotations-in.html In case you need more details let me know.
        Hide
        pwebb Phil Webb added a comment -

        Thanks Rafał Borowiec, Would you be able to attach the full stacktrace from the snippet that is on your site?

        Show
        pwebb Phil Webb added a comment - Thanks Rafał Borowiec , Would you be able to attach the full stacktrace from the snippet that is on your site?
        Hide
        mezza9 Rafał Borowiec added a comment -

        Hi,

        1. Stack trace:

        2013-11-13 20:49:47.377 [main] ERROR o.s.t.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@6c5cce75] to prepare test instance [[email protected]]
        java.lang.IllegalStateException: Failed to load ApplicationContext
        at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:99) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.DefaultTestContext.getApplicationContext(DefaultTestContext.java:101) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:108) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:75) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:326) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:210) [spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287) [spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.11.jar:na]
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289) [spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:230) [spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:87) [spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) [junit-4.11.jar:na]
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) [junit-4.11.jar:na]
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) [junit-4.11.jar:na]
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) [junit-4.11.jar:na]
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) [junit-4.11.jar:na]
        at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) [spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309) [junit-4.11.jar:na]
        at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:173) [spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.junit.runner.JUnitCore.run(JUnitCore.java:160) [junit-4.11.jar:na]
        at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77) [junit-rt.jar:na]
        at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195) [junit-rt.jar:na]
        at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) [junit-rt.jar:na]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_09]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_09]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_09]
        at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_09]
        at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) [idea_rt.jar:na]
        Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to load bean class: pl.codeleak.t.config.RootConfig; nested exception is org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:159) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:129) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:60) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:250) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContextInternal(CacheAwareContextLoaderDelegate.java:64) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:91) ~[spring-test-4.0.0.RC1.jar:4.0.0.RC1]
        ... 28 common frames omitted
        Caused by: org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:370) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:363) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:341) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:249) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:173) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:242) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:182) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:152) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        ... 40 common frames omitted
        Caused by: java.lang.ClassNotFoundException: java.lang.annotation.Repeatable
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_09]
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_09]
        at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_09]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_09]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:423) ~[na:1.7.0_09]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[na:1.7.0_09]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ~[na:1.7.0_09]
        at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:552) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getRelated(ConfigurationClassParser.java:754) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getAnnotations(ConfigurationClassParser.java:724) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:361) ~[spring-context-4.0.0.RC1.jar:4.0.0.RC1]
        ... 49 common frames omitted

        2. IntellJ itself says it is a warning:

        Using javac 1.7.0_09 to compile java sources
        0 errors
        1 warning
        Compilation completed successfully with 1 warning in 14 sec
        java: Cannot find annotation method 'value()' in type 'java.lang.annotation.Repeatable': class file for java.lang.annotation.Repeatable not found

        3. When I run the test directly using maven (outside IDE) I get the same exception.

        I hope it helps.

        Show
        mezza9 Rafał Borowiec added a comment - Hi, 1. Stack trace: 2013-11-13 20:49:47.377 [main] ERROR o.s.t.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.web.ServletTestExecutionListener@6c5cce75] to prepare test instance [[email protected]] java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:99) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.DefaultTestContext.getApplicationContext(DefaultTestContext.java:101) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:108) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:75) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:326) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:210) [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287) [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.11.jar:na] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289) [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:230) [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:87) [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) [junit-4.11.jar:na] at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) [junit-4.11.jar:na] at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) [junit-4.11.jar:na] at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) [junit-4.11.jar:na] at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) [junit-4.11.jar:na] at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61) [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71) [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.junit.runners.ParentRunner.run(ParentRunner.java:309) [junit-4.11.jar:na] at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:173) [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.junit.runner.JUnitCore.run(JUnitCore.java:160) [junit-4.11.jar:na] at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77) [junit-rt.jar:na] at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195) [junit-rt.jar:na] at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63) [junit-rt.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~ [na:1.7.0_09] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~ [na:1.7.0_09] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~ [na:1.7.0_09] at java.lang.reflect.Method.invoke(Method.java:601) ~ [na:1.7.0_09] at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) [idea_rt.jar:na] Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to load bean class: pl.codeleak.t.config.RootConfig; nested exception is org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:159) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:129) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.web.AbstractGenericWebContextLoader.loadContext(AbstractGenericWebContextLoader.java:60) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:250) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContextInternal(CacheAwareContextLoaderDelegate.java:64) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:91) ~ [spring-test-4.0.0.RC1.jar:4.0.0.RC1] ... 28 common frames omitted Caused by: org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:370) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:363) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:341) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:249) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:173) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:242) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:182) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:152) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] ... 40 common frames omitted Caused by: java.lang.ClassNotFoundException: java.lang.annotation.Repeatable at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~ [na:1.7.0_09] at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~ [na:1.7.0_09] at java.security.AccessController.doPrivileged(Native Method) ~ [na:1.7.0_09] at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~ [na:1.7.0_09] at java.lang.ClassLoader.loadClass(ClassLoader.java:423) ~ [na:1.7.0_09] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~ [na:1.7.0_09] at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ~ [na:1.7.0_09] at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:552) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getRelated(ConfigurationClassParser.java:754) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getAnnotations(ConfigurationClassParser.java:724) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:361) ~ [spring-context-4.0.0.RC1.jar:4.0.0.RC1] ... 49 common frames omitted 2. IntellJ itself says it is a warning: Using javac 1.7.0_09 to compile java sources 0 errors 1 warning Compilation completed successfully with 1 warning in 14 sec java: Cannot find annotation method 'value()' in type 'java.lang.annotation.Repeatable': class file for java.lang.annotation.Repeatable not found 3. When I run the test directly using maven (outside IDE) I get the same exception. I hope it helps.
        Hide
        matthias.koester Matthias Köster added a comment -

        If I remember it correctly we had the same exception trace. And WE also trief to update an existing spring 3 application to 4RC1. And it worked with a milestone prior to RC1. That's why I commented on Phil's commit on github.

        Show
        matthias.koester Matthias Köster added a comment - If I remember it correctly we had the same exception trace. And WE also trief to update an existing spring 3 application to 4RC1. And it worked with a milestone prior to RC1. That's why I commented on Phil's commit on github.
        Hide
        matthias.koester Matthias Köster added a comment -

        Our stripped down example. My colleague was able to reproduce the problem by running "mvn jetty:run" on his MacBook. But unfortunately I wasn't able to reproduce it on my MacBook

        Show
        matthias.koester Matthias Köster added a comment - Our stripped down example. My colleague was able to reproduce the problem by running "mvn jetty:run" on his MacBook. But unfortunately I wasn't able to reproduce it on my MacBook
        Hide
        matthias.koester Matthias Köster added a comment -

        We get the following stack trace if we run our test app with "mvn jetty:run":
        springtest $ mvn jetty:run

        [INFO] Scanning for projects...
        [INFO]
        [INFO] ------------------------------------------------------------------------
        [INFO] Building springtest 1.0-SNAPSHOT
        [INFO] ------------------------------------------------------------------------
        [INFO]
        [INFO] >>> jetty-maven-plugin:9.0.4.v20130625:run (default-cli) @ springtest >>>
        [INFO]
        [INFO] — maven-resources-plugin:2.6:resources (default-resources) @ springtest —
        [INFO] Using 'UTF-8' encoding to copy filtered resources.
        [INFO] Copying 1 resource
        [INFO]
        [INFO] — maven-compiler-plugin:3.1:compile (default-compile) @ springtest —
        [INFO] Nothing to compile - all classes are up to date
        [INFO]
        [INFO] — maven-resources-plugin:2.6:testResources (default-testResources) @ springtest —
        [INFO] Using 'UTF-8' encoding to copy filtered resources.
        [INFO] skip non existing resourceDirectory /Users/Domi/Documents/dev/springtest/src/test/resources
        [INFO]
        [INFO] — maven-compiler-plugin:3.1:testCompile (default-testCompile) @ springtest —
        [INFO] Nothing to compile - all classes are up to date
        [INFO]
        [INFO] <<< jetty-maven-plugin:9.0.4.v20130625:run (default-cli) @ springtest <<<
        [INFO]
        [INFO] — jetty-maven-plugin:9.0.4.v20130625:run (default-cli) @ springtest —
        [INFO] Configuring Jetty for project: springtest
        [INFO] webAppSourceDirectory not set. Defaulting to /Users/Domi/Documents/dev/springtest/src/main/webapp
        [INFO] Reload Mechanic: automatic
        [INFO] Classes = /Users/Domi/Documents/dev/springtest/target/classes
        [INFO] Context path = /spring-test
        [INFO] Tmp directory = /Users/Domi/Documents/dev/springtest/target/tmp
        [INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml
        [INFO] Web overrides = none
        [INFO] web.xml file = file:/Users/Domi/Documents/dev/springtest/src/main/webapp/WEB-INF/web.xml
        [INFO] Webapp directory = /Users/Domi/Documents/dev/springtest/src/main/webapp
        2013-11-13 21:12:40.323:INFO:oejs.Server:main: jetty-9.0.4.v20130625
        2013-11-13 21:12:41.048:INFO:oejpw.PlusConfiguration:main: No Transaction manager found - if your webapp requires one, please configure one.
        2013-11-13 21:12:43.826:INFO:/spring-test:main: Spring WebApplicationInitializers detected on classpath: [[email protected]]
        2013-11-13 21:12:44.397:INFO:/spring-test:main: Initializing Spring root WebApplicationContext
        Nov 13, 2013 9:12:44 PM org.springframework.web.context.ContextLoader initWebApplicationContext
        INFO: Root WebApplicationContext: initialization started
        Nov 13, 2013 9:12:44 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
        INFO: Refreshing Root WebApplicationContext: startup date [Wed Nov 13 21:12:44 CET 2013]; root of context hierarchy
        Nov 13, 2013 9:12:44 PM org.springframework.web.context.support.AnnotationConfigWebApplicationContext loadBeanDefinitions
        INFO: Registering annotated classes: [class com.springapp.config.ServiceConfig]
        Nov 13, 2013 9:12:44 PM org.springframework.web.context.ContextLoader initWebApplicationContext
        SEVERE: Context initialization failed
        org.springframework.beans.factory.BeanDefinitionStoreException: Failed to load bean class: com.springapp.config.ServiceConfig; nested exception is org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:159)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:787)
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:434)
        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:779)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:284)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1322)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:731)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:490)
        at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:280)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:175)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.server.Server.start(Server.java:342)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.server.Server.doStart(Server.java:290)
        at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:68)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:556)
        at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:352)
        at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
        Caused by: org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:370)
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:363)
        at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:341)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:249)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:173)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:242)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:182)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:152)
        ... 58 more
        Caused by: java.lang.ClassNotFoundException: java.lang.annotation.Repeatable
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:420)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:382)
        at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:552)
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getRelated(ConfigurationClassParser.java:754)
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getAnnotations(ConfigurationClassParser.java:724)
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:361)
        ... 67 more

        2013-11-13 21:12:44.742:WARN:oejw.WebAppContext:main: Failed startup of context [email protected]

        {/spring-test,file:/Users/Domi/Documents/dev/springtest/src/main/webapp/,STARTING} {file:/Users/Domi/Documents/dev/springtest/src/main/webapp/}

        org.springframework.beans.factory.BeanDefinitionStoreException: Failed to load bean class: com.springapp.config.ServiceConfig; nested exception is org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:159)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:787)
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:434)
        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:779)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:284)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1322)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:731)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:490)
        at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:280)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:175)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.server.Server.start(Server.java:342)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.server.Server.doStart(Server.java:290)
        at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:68)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:556)
        at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:352)
        at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
        Caused by:
        org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:370)
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:363)
        at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:341)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:249)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:173)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:242)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:182)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:152)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:787)
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:434)
        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:779)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:284)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1322)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:731)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:490)
        at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:280)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:175)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.server.Server.start(Server.java:342)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.server.Server.doStart(Server.java:290)
        at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:68)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:556)
        at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:352)
        at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
        Caused by:
        java.lang.ClassNotFoundException: java.lang.annotation.Repeatable
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:420)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:382)
        at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:552)
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getRelated(ConfigurationClassParser.java:754)
        at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getAnnotations(ConfigurationClassParser.java:724)
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:361)
        at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:363)
        at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:341)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:249)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:173)
        at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:242)
        at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:182)
        at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:152)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296)
        at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254)
        at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94)
        at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
        at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
        at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:787)
        at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:434)
        at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:779)
        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:284)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1322)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:731)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:490)
        at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:280)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:175)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108)
        at org.eclipse.jetty.server.Server.start(Server.java:342)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58)
        at org.eclipse.jetty.server.Server.doStart(Server.java:290)
        at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:68)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69)
        at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:556)
        at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:352)
        at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167)
        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

        I also attached our stripped down example as springtest.zip. My colleague was able to reproduce the problem by running "mvn jetty:run" on his MacBook. But unfortunately I wasn't able to reproduce it on my MacBook

        Show
        matthias.koester Matthias Köster added a comment - We get the following stack trace if we run our test app with "mvn jetty:run": springtest $ mvn jetty:run [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building springtest 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] >>> jetty-maven-plugin:9.0.4.v20130625:run (default-cli) @ springtest >>> [INFO] [INFO] — maven-resources-plugin:2.6:resources (default-resources) @ springtest — [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 1 resource [INFO] [INFO] — maven-compiler-plugin:3.1:compile (default-compile) @ springtest — [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] — maven-resources-plugin:2.6:testResources (default-testResources) @ springtest — [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /Users/Domi/Documents/dev/springtest/src/test/resources [INFO] [INFO] — maven-compiler-plugin:3.1:testCompile (default-testCompile) @ springtest — [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] <<< jetty-maven-plugin:9.0.4.v20130625:run (default-cli) @ springtest <<< [INFO] [INFO] — jetty-maven-plugin:9.0.4.v20130625:run (default-cli) @ springtest — [INFO] Configuring Jetty for project: springtest [INFO] webAppSourceDirectory not set. Defaulting to /Users/Domi/Documents/dev/springtest/src/main/webapp [INFO] Reload Mechanic: automatic [INFO] Classes = /Users/Domi/Documents/dev/springtest/target/classes [INFO] Context path = /spring-test [INFO] Tmp directory = /Users/Domi/Documents/dev/springtest/target/tmp [INFO] Web defaults = org/eclipse/jetty/webapp/webdefault.xml [INFO] Web overrides = none [INFO] web.xml file = file:/Users/Domi/Documents/dev/springtest/src/main/webapp/WEB-INF/web.xml [INFO] Webapp directory = /Users/Domi/Documents/dev/springtest/src/main/webapp 2013-11-13 21:12:40.323:INFO:oejs.Server:main: jetty-9.0.4.v20130625 2013-11-13 21:12:41.048:INFO:oejpw.PlusConfiguration:main: No Transaction manager found - if your webapp requires one, please configure one. 2013-11-13 21:12:43.826:INFO:/spring-test:main: Spring WebApplicationInitializers detected on classpath: [[email protected]] 2013-11-13 21:12:44.397:INFO:/spring-test:main: Initializing Spring root WebApplicationContext Nov 13, 2013 9:12:44 PM org.springframework.web.context.ContextLoader initWebApplicationContext INFO: Root WebApplicationContext: initialization started Nov 13, 2013 9:12:44 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO: Refreshing Root WebApplicationContext: startup date [Wed Nov 13 21:12:44 CET 2013] ; root of context hierarchy Nov 13, 2013 9:12:44 PM org.springframework.web.context.support.AnnotationConfigWebApplicationContext loadBeanDefinitions INFO: Registering annotated classes: [class com.springapp.config.ServiceConfig] Nov 13, 2013 9:12:44 PM org.springframework.web.context.ContextLoader initWebApplicationContext SEVERE: Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Failed to load bean class: com.springapp.config.ServiceConfig; nested exception is org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:159) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:787) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:434) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:779) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:284) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1322) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:731) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:490) at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:280) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:175) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.server.Server.start(Server.java:342) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.Server.doStart(Server.java:290) at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:68) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:556) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:352) at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:370) at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:363) at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:341) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:249) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:173) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:242) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:182) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:152) ... 58 more Caused by: java.lang.ClassNotFoundException: java.lang.annotation.Repeatable at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:420) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:382) at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:552) at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getRelated(ConfigurationClassParser.java:754) at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getAnnotations(ConfigurationClassParser.java:724) at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:361) ... 67 more 2013-11-13 21:12:44.742:WARN:oejw.WebAppContext:main: Failed startup of context [email protected] {/spring-test,file:/Users/Domi/Documents/dev/springtest/src/main/webapp/,STARTING} {file:/Users/Domi/Documents/dev/springtest/src/main/webapp/} org.springframework.beans.factory.BeanDefinitionStoreException: Failed to load bean class: com.springapp.config.ServiceConfig; nested exception is org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:159) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:787) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:434) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:779) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:284) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1322) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:731) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:490) at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:280) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:175) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.server.Server.start(Server.java:342) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.Server.doStart(Server.java:290) at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:68) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:556) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:352) at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: org.springframework.core.NestedIOException: Unable to collect imports; nested exception is java.lang.ClassNotFoundException: java.lang.annotation.Repeatable at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:370) at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:363) at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:341) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:249) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:173) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:242) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:182) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:152) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:787) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:434) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:779) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:284) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1322) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:731) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:490) at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:280) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:175) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.server.Server.start(Server.java:342) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.Server.doStart(Server.java:290) at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:68) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:556) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:352) at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: java.lang.ClassNotFoundException: java.lang.annotation.Repeatable at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:420) at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:382) at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:552) at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getRelated(ConfigurationClassParser.java:754) at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getAnnotations(ConfigurationClassParser.java:724) at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:361) at org.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:363) at org.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:341) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:249) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:173) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:242) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:205) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:182) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:152) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:296) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:240) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:254) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:94) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:609) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:787) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:434) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:779) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:284) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1322) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:731) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:490) at org.eclipse.jetty.maven.plugin.JettyWebAppContext.doStart(JettyWebAppContext.java:280) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:175) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:108) at org.eclipse.jetty.server.Server.start(Server.java:342) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:90) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:58) at org.eclipse.jetty.server.Server.doStart(Server.java:290) at org.eclipse.jetty.maven.plugin.JettyServer.doStart(JettyServer.java:68) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:69) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:556) at org.eclipse.jetty.maven.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:352) at org.eclipse.jetty.maven.plugin.JettyRunMojo.execute(JettyRunMojo.java:167) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) I also attached our stripped down example as springtest.zip. My colleague was able to reproduce the problem by running "mvn jetty:run" on his MacBook. But unfortunately I wasn't able to reproduce it on my MacBook
        Hide
        juergen.hoeller Juergen Hoeller added a comment -

        Funnily enough, it seems to be our own ConfigurationClassParser not adhering to that rule of ignoring non-loadable annotation types... To be fixed for RC2.

        Juergen

        Show
        juergen.hoeller Juergen Hoeller added a comment - Funnily enough, it seems to be our own ConfigurationClassParser not adhering to that rule of ignoring non-loadable annotation types... To be fixed for RC2. Juergen
        Hide
        juergen.hoeller Juergen Hoeller added a comment -

        Fixed for 4.0 RC2 now, through ignoring non-loadable annotations in SourceClass.getAnnotations() and therefore in the collectImports algorithm.

        So aside from the use of @Repeatable on our own @PropertySource, this should also properly ignore custom annotations now when not being loadable in the current classpath.

        Juergen

        Show
        juergen.hoeller Juergen Hoeller added a comment - Fixed for 4.0 RC2 now, through ignoring non-loadable annotations in SourceClass.getAnnotations() and therefore in the collectImports algorithm. So aside from the use of @Repeatable on our own @PropertySource, this should also properly ignore custom annotations now when not being loadable in the current classpath. Juergen
        Hide
        sslavic Stevo Slavić added a comment -

        I just reproduced this issue with Spring 4.0.1.RELEASE, spring-scala 1.0.0.RC1, scala 2.10.3, sbt 0.13.1, on Windows 7 and JDK 1.7 update 45. Compilation of my AppConfiguration which extends FunctionalConfiguration, and has @PropertySource, fails:

        ...
        [info] Compiling 15 Scala sources to C:\foo\bar\target\scala-2.10\classes...
        [error] Class java.lang.annotation.Repeatable not found - continuing with a stub.
        [error] Caught: java.lang.NullPointerException while parsing annotations in C:\Users\stevo.slavic\.ivy2\cache\org.springframework\spring-context\jars\spring-context-4.0.1.RELEASE.jar(org/springframework/context/annotation/PropertySource.class)
        [error] two errors found
        [error] (compile:compile) Compilation failed

        Seems scala compiler doesn't ignore missing annotations (see https://issues.scala-lang.org/browse/SI-7751)

        Show
        sslavic Stevo Slavić added a comment - I just reproduced this issue with Spring 4.0.1.RELEASE, spring-scala 1.0.0.RC1, scala 2.10.3, sbt 0.13.1, on Windows 7 and JDK 1.7 update 45. Compilation of my AppConfiguration which extends FunctionalConfiguration , and has @PropertySource , fails: ... [info] Compiling 15 Scala sources to C:\foo\bar\target\scala-2.10\classes... [error] Class java.lang.annotation.Repeatable not found - continuing with a stub. [error] Caught: java.lang.NullPointerException while parsing annotations in C:\Users\stevo.slavic\.ivy2\cache\org.springframework\spring-context\jars\spring-context-4.0.1.RELEASE.jar(org/springframework/context/annotation/PropertySource.class) [error] two errors found [error] (compile:compile) Compilation failed Seems scala compiler doesn't ignore missing annotations (see https://issues.scala-lang.org/browse/SI-7751 )

          People

          • Assignee:
            juergen.hoeller Juergen Hoeller
            Reporter:
            pwebb Phil Webb
            Last updater:
            Stevo Slavić
          • Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:
              Days since last comment:
              3 years, 25 weeks ago