2014-10-10 56 views
3

利用Java 8和Spring AOP 4.0.6我收到以下錯誤Spring AOP的給拋出:IllegalArgumentException與Java 8

java.lang.RuntimeException: Error scanning file MonitorAroundPerformance.class 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:705) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:821) 
    at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:159) 
    at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:531) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: 
java.lang.IllegalArgumentException 
    at org.objectweb.asm.ClassReader.<init>(Unknown Source) 
    at org.objectweb.asm.ClassReader.<init>(Unknown Source) 
    at org.objectweb.asm.ClassReader.<init>(Unknown Source) 
    at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:970) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:700) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:686) 
    at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:821) 
    at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:159) 
    at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:531) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536) 
    at java.lang.Thread.run(Thread.java:745) 

但是當我改變Java源代碼和目標到1.7,那麼這個錯誤消失。 的pom.xml設置 -

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework</groupId> 
      <artifactId>spring-framework-bom</artifactId> 
      <version>4.0.6.RELEASE</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

罐子在構建路徑在Eclipse開普勒 - 彈簧AOP-4.0.6,aspectjrt-1.8.2.jar,aopalliance-1.0.jar,碼頭,Maven的插件:9.1 .1.v20140108

配置:

<bean id="performanceAdvice" 
    class="com.util.MonitorAroundPerformance" /> 

<bean id="performanceAdvisor" 
    class="org.springframework.aop.support.RegexpMethodPointcutAdvisor" 
    depends-on="propertyOverrideConfigurer"> 
    <property name="advice" ref="performanceAdvice" /> 
</bean> 


<bean 
    class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator"> 
    <property name="proxyTargetClass" value="true" /> 
</bean> 

回答

0

如果只是升級到asm 5. *不適用於您,請從jetty中排除所有asm jar。 這個配置對我有用:

 <plugin> 
      <groupId>org.eclipse.jetty</groupId> 
      <artifactId>jetty-maven-plugin</artifactId> 
      <version>9.4.6.v20170531</version> 
      <configuration> 
       <webApp> 
        <webInfIncludeJarPattern>.*/^(asm-all-repackaged)[^/]*\.jar$</webInfIncludeJarPattern> 
       </webApp> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>org.ow2.asm</groupId> 
        <artifactId>asm</artifactId> 
        <version>5.2</version> 
       </dependency> 
       <dependency> 
        <groupId>org.ow2.asm</groupId> 
        <artifactId>asm-commons</artifactId> 
        <version>5.2</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
相關問題