首页 \ 问答 \ gradle + aspectj - 编译错误编织外部jar(gradle + aspectj -— compile error weaving external jar)

gradle + aspectj - 编译错误编织外部jar(gradle + aspectj -— compile error weaving external jar)

我有一个项目,它使用编译时编织方面,它取决于两个外部jar。 我使用gradle-aspectj插件来自: https//github.com/eveoh/gradle-aspectj

build.gradle如下:

buildscript {
    repositories {
        maven { url "http://nexus.**.org/nexus/content/groups/public/" }
    }
    dependencies {
        classpath("nl.eveoh:gradle-aspectj:1.5")
    }
}

ext {
    springBootVersion = '1.2.3.RELEASE'
    aspectjVersion = '1.8.5'
}

apply plugin: 'aspectj'

compileAspect {
    additionalAjcArgs = ['encoding': 'UTF-8', 'source': '1.8', 'target': '1.8']
}

dependencies {                       
    compile ("com.alibaba:fastjson:1.2.5")
    compile ('commons-io:commons-io:2.4')
    compile ('commons-lang:commons-lang:2.6')
    compile ("ch.qos.logback:logback-classic:1.1.3")
    compile ("ch.qos.logback:logback-core:1.1.3")
    compile ("org.springframework:spring-jms:4.1.6.RELEASE")
    compile ("org.apache.kafka:kafka-clients:0.8.2.2")
    compile ("org.springframework.boot:spring-boot-starter-web:${springBootVersion}")
    compile ("org.aspectj:aspectjrt:$aspectjVersion")
    compile ("org.aspectj:aspectjweaver:$aspectjVersion")

    compile("com.aa.bb:bb-core:1.0")
    ajInpath ("com.aa.bb:bb-core:1.0")
}

当我执行gradle build时,会输出一些编译错误:

20:35:12: Executing external task 'build'...
:myproject:compileAspect
[ant:iajc] trouble in: 
[ant:iajc] public class org.springframework.http.converter.feed.AtomFeedHttpMessageConverter extends org.springframework.http.converter.feed.AbstractWireFeedHttpMessageConverter:
[ant:iajc]   public void <init>():
[ant:iajc]                     ALOAD_0     // Lorg/springframework/http/converter/feed/AtomFeedHttpMessageConverter; this   (line 38)
[ant:iajc]                     NEW org.springframework.http.MediaType
[ant:iajc]                     DUP
[ant:iajc]                     LDC "application"
[ant:iajc]                     LDC "atom+xml"
[ant:iajc]                     INVOKESPECIAL org.springframework.http.MediaType.<init> (Ljava/lang/String;Ljava/lang/String;)V
[ant:iajc]                     INVOKESPECIAL org.springframework.http.converter.feed.AbstractWireFeedHttpMessageConverter.<init> (Lorg/springframework/http/MediaType;)V
[ant:iajc]     constructor-execution(void org.springframework.http.converter.feed.AtomFeedHttpMessageConverter.<init>())
[ant:iajc]     |               RETURN   (line 39)
[ant:iajc]     constructor-execution(void org.springframework.http.converter.feed.AtomFeedHttpMessageConverter.<init>())
[ant:iajc]   end public void <init>()
[ant:iajc] 
[ant:iajc]   protected boolean supports(Class):
[ant:iajc]     method-execution(boolean org.springframework.http.converter.feed.AtomFeedHttpMessageConverter.supports(java.lang.Class))
[ant:iajc]     |               LDC com.sun.syndication.feed.atom.Feed   (line 43)
[ant:iajc]     |               ALOAD_1     // Ljava/lang/Class; clazz
[ant:iajc]     | method-call(boolean java.lang.Class.isAssignableFrom(java.lang.Class))
[ant:iajc]     | |             INVOKEVIRTUAL java.lang.Class.isAssignableFrom (Ljava/lang/Class;)Z
[ant:iajc]     | method-call(boolean java.lang.Class.isAssignableFrom(java.lang.Class))
[ant:iajc]     |               IRETURN
[ant:iajc]     method-execution(boolean org.springframework.http.converter.feed.AtomFeedHttpMessageConverter.supports(java.lang.Class))
[ant:iajc]   end protected boolean supports(Class)
[ant:iajc] 
[ant:iajc] end public class org.springframework.http.converter.feed.AtomFeedHttpMessageConverter
[ant:iajc] 
[ant:iajc]  
[ant:iajc] Exception thrown from AspectJ 1.8.5
[ant:iajc] 
[ant:iajc] This might be logged as a bug already -- find current bugs at
[ant:iajc]   http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler
[ant:iajc] 
[ant:iajc] Bugs for exceptions thrown have titles File:line from the top stack, 
[ant:iajc] e.g., "SomeFile.java:243"
[ant:iajc] 
[ant:iajc] If you don't find the exception below in a bug, please add a new bug
[ant:iajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
[ant:iajc] To make the bug a priority, please include a test program
[ant:iajc] that can reproduce this exception.
[ant:iajc] org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc] 
[ant:iajc] when weaving type org.springframework.http.converter.feed.AtomFeedHttpMessageConverter
[ant:iajc] when weaving classes 
[ant:iajc] when weaving 
[ant:iajc] when batch building BuildConfig[null] #Files=49 AopXmls=#0
[ant:iajc] org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc] java.lang.ClassCastException: org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc]  at org.aspectj.weaver.BoundedReferenceType.parameterize(BoundedReferenceType.java:109)
[ant:iajc]  at org.aspectj.weaver.ResolvedType.parameterize(ResolvedType.java:2489)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterize(ResolvedMemberImpl.java:897)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:794)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:742)
[ant:iajc]  at org.aspectj.weaver.ReferenceType.getDeclaredMethods(ReferenceType.java:859)
[ant:iajc]  at org.aspectj.weaver.ResolvedType$MethodGetterIncludingItds.get(ResolvedType.java:252)
[ant:iajc]  at org.aspectj.weaver.ResolvedType$MethodGetterIncludingItds.get(ResolvedType.java:250)
[ant:iajc]  at org.aspectj.weaver.Iterators$4$1.hasNext(Iterators.java:213)
[ant:iajc]  at org.aspectj.weaver.Iterators$4.hasNext(Iterators.java:230)
[ant:iajc]  at org.aspectj.weaver.ResolvedType.lookupResolvedMember(ResolvedType.java:619)
[ant:iajc]  at org.aspectj.weaver.JoinPointSignatureIterator.findSignaturesFromSupertypes(JoinPointSignatureIterator.java:192)
[ant:iajc]  at org.aspectj.weaver.JoinPointSignatureIterator.hasNext(JoinPointSignatureIterator.java:68)
[ant:iajc]  at org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:317)
[ant:iajc]  at org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:197)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:56)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:56)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:113)
[ant:iajc]  at org.aspectj.weaver.Advice.match(Advice.java:109)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelAdvice.match(BcelAdvice.java:152)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:3304)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2692)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1689)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:514)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.queueForWeaving(AjPipeliningCompilerAdapter.java:447)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterProcessing(AjPipeliningCompilerAdapter.java:432)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$after$org_aspectj_ajdt_internal_compiler_CompilerAdapter$5$6b855184(CompilerAdapter.aj:103)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:822)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:480)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:420)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1036)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:272)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:185)
[ant:iajc]  at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
[ant:iajc]  at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
[ant:iajc]  at org.aspectj.tools.ajc.Main.run(Main.java:371)
[ant:iajc]  at org.aspectj.tools.ajc.Main.runMain(Main.java:248)
[ant:iajc]  at org.aspectj.tools.ajc.Main.main(Main.java:84)
[ant:iajc] 
[ant:iajc] trouble in: 
[ant:iajc] public class org.springframework.http.converter.feed.RssChannelHttpMessageConverter extends org.springframework.http.converter.feed.AbstractWireFeedHttpMessageConverter:
[ant:iajc]   public void <init>():
[ant:iajc]                     ALOAD_0     // Lorg/springframework/http/converter/feed/RssChannelHttpMessageConverter; this   (line 38)
[ant:iajc]                     NEW org.springframework.http.MediaType
[ant:iajc]                     DUP
[ant:iajc]                     LDC "application"
[ant:iajc]                     LDC "rss+xml"
[ant:iajc]                     INVOKESPECIAL org.springframework.http.MediaType.<init> (Ljava/lang/String;Ljava/lang/String;)V
[ant:iajc]                     INVOKESPECIAL org.springframework.http.converter.feed.AbstractWireFeedHttpMessageConverter.<init> (Lorg/springframework/http/MediaType;)V
[ant:iajc]     constructor-execution(void org.springframework.http.converter.feed.RssChannelHttpMessageConverter.<init>())
[ant:iajc]     |               RETURN   (line 39)
[ant:iajc]     constructor-execution(void org.springframework.http.converter.feed.RssChannelHttpMessageConverter.<init>())
[ant:iajc]   end public void <init>()
[ant:iajc] 
[ant:iajc]   protected boolean supports(Class):
[ant:iajc]     method-execution(boolean org.springframework.http.converter.feed.RssChannelHttpMessageConverter.supports(java.lang.Class))
[ant:iajc]     |               LDC com.sun.syndication.feed.rss.Channel   (line 43)
[ant:iajc]     |               ALOAD_1     // Ljava/lang/Class; clazz
[ant:iajc]     | method-call(boolean java.lang.Class.isAssignableFrom(java.lang.Class))
[ant:iajc]     | |             INVOKEVIRTUAL java.lang.Class.isAssignableFrom (Ljava/lang/Class;)Z
[ant:iajc]     | method-call(boolean java.lang.Class.isAssignableFrom(java.lang.Class))
[ant:iajc]     |               IRETURN
[ant:iajc]     method-execution(boolean org.springframework.http.converter.feed.RssChannelHttpMessageConverter.supports(java.lang.Class))
[ant:iajc]   end protected boolean supports(Class)
[ant:iajc] 
[ant:iajc] end public class org.springframework.http.converter.feed.RssChannelHttpMessageConverter
[ant:iajc] 
[ant:iajc]  
[ant:iajc] Exception thrown from AspectJ 1.8.5
[ant:iajc] 
[ant:iajc] This might be logged as a bug already -- find current bugs at
[ant:iajc]   http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler
[ant:iajc] 
[ant:iajc] Bugs for exceptions thrown have titles File:line from the top stack, 
[ant:iajc] e.g., "SomeFile.java:243"
[ant:iajc] 
[ant:iajc] If you don't find the exception below in a bug, please add a new bug
[ant:iajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
[ant:iajc] To make the bug a priority, please include a test program
[ant:iajc] that can reproduce this exception.
[ant:iajc] org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc] 
[ant:iajc] when weaving type org.springframework.http.converter.feed.RssChannelHttpMessageConverter
[ant:iajc] when weaving classes 
[ant:iajc] when weaving 
[ant:iajc] when batch building BuildConfig[null] #Files=49 AopXmls=#0
[ant:iajc] org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc] java.lang.ClassCastException: org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc]  at org.aspectj.weaver.BoundedReferenceType.parameterize(BoundedReferenceType.java:109)
[ant:iajc]  at org.aspectj.weaver.ResolvedType.parameterize(ResolvedType.java:2489)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterize(ResolvedMemberImpl.java:897)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:794)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:742)
[ant:iajc]  at org.aspectj.weaver.ReferenceType.getDeclaredMethods(ReferenceType.java:859)
[ant:iajc]  at org.aspectj.weaver.ResolvedType$MethodGetterIncludingItds.get(ResolvedType.java:252)
[ant:iajc]  at org.aspectj.weaver.ResolvedType$MethodGetterIncludingItds.get(ResolvedType.java:250)
[ant:iajc]  at org.aspectj.weaver.Iterators$4$1.hasNext(Iterators.java:213)
[ant:iajc]  at org.aspectj.weaver.Iterators$4.hasNext(Iterators.java:230)
[ant:iajc]  at org.aspectj.weaver.ResolvedType.lookupResolvedMember(ResolvedType.java:619)
[ant:iajc]  at org.aspectj.weaver.JoinPointSignatureIterator.findSignaturesFromSupertypes(JoinPointSignatureIterator.java:192)
[ant:iajc]  at org.aspectj.weaver.JoinPointSignatureIterator.hasNext(JoinPointSignatureIterator.java:68)
[ant:iajc]  at org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:317)
[ant:iajc]  at org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:197)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:56)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:56)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:113)
[ant:iajc]  at org.aspectj.weaver.Advice.match(Advice.java:109)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelAdvice.match(BcelAdvice.java:152)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:3304)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2692)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1689)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:514)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.queueForWeaving(AjPipeliningCompilerAdapter.java:447)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterProcessing(AjPipeliningCompilerAdapter.java:432)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$after$org_aspectj_ajdt_internal_compiler_CompilerAdapter$5$6b855184(CompilerAdapter.aj:103)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:822)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:480)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:420)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1036)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:272)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:185)
[ant:iajc]  at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
[ant:iajc]  at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
[ant:iajc]  at org.aspectj.tools.ajc.Main.run(Main.java:371)
[ant:iajc]  at org.aspectj.tools.ajc.Main.runMain(Main.java:248)
[ant:iajc]  at org.aspectj.tools.ajc.Main.main(Main.java:84)
[ant:iajc] 
[ant:iajc] 九月 08, 2016 8:35:41 下午 org.aspectj.weaver.tools.Jdk14Trace info
[ant:iajc] 信息: Dumping to D:\***\.\ajcore.20160908.203541.662.txt
[ant:iajc] 
[ant:iajc] 2 fail|aborts
:myproject-common:compileAspect FAILED

如果我删除脚本

 ajInpath ("com.aa.bb:bb-core:1.0")

gradle构建将成功,但我需要编织外部jar。

我的项目基于intellij idea(16)+ gradle(2.12)+ spring boot(1.2.3)

任何帮助将不胜感激。

===============================================

更新:

在我添加spring-framework以排除之后,没有编译错误,但外部jar仍然没有编织。

ajInpath ("com.aa.bb:bb-core:1.0"){
    exclude(group: "org.springframework")
}

i have a project which uses compile-time weaving of aspects, it depends on two external jar. i uses gradle-aspectj plugin from:https://github.com/eveoh/gradle-aspectj

build.gradle as following:

buildscript {
    repositories {
        maven { url "http://nexus.**.org/nexus/content/groups/public/" }
    }
    dependencies {
        classpath("nl.eveoh:gradle-aspectj:1.5")
    }
}

ext {
    springBootVersion = '1.2.3.RELEASE'
    aspectjVersion = '1.8.5'
}

apply plugin: 'aspectj'

compileAspect {
    additionalAjcArgs = ['encoding': 'UTF-8', 'source': '1.8', 'target': '1.8']
}

dependencies {                       
    compile ("com.alibaba:fastjson:1.2.5")
    compile ('commons-io:commons-io:2.4')
    compile ('commons-lang:commons-lang:2.6')
    compile ("ch.qos.logback:logback-classic:1.1.3")
    compile ("ch.qos.logback:logback-core:1.1.3")
    compile ("org.springframework:spring-jms:4.1.6.RELEASE")
    compile ("org.apache.kafka:kafka-clients:0.8.2.2")
    compile ("org.springframework.boot:spring-boot-starter-web:${springBootVersion}")
    compile ("org.aspectj:aspectjrt:$aspectjVersion")
    compile ("org.aspectj:aspectjweaver:$aspectjVersion")

    compile("com.aa.bb:bb-core:1.0")
    ajInpath ("com.aa.bb:bb-core:1.0")
}

when i execute gradle build,some compile error is output:

20:35:12: Executing external task 'build'...
:myproject:compileAspect
[ant:iajc] trouble in: 
[ant:iajc] public class org.springframework.http.converter.feed.AtomFeedHttpMessageConverter extends org.springframework.http.converter.feed.AbstractWireFeedHttpMessageConverter:
[ant:iajc]   public void <init>():
[ant:iajc]                     ALOAD_0     // Lorg/springframework/http/converter/feed/AtomFeedHttpMessageConverter; this   (line 38)
[ant:iajc]                     NEW org.springframework.http.MediaType
[ant:iajc]                     DUP
[ant:iajc]                     LDC "application"
[ant:iajc]                     LDC "atom+xml"
[ant:iajc]                     INVOKESPECIAL org.springframework.http.MediaType.<init> (Ljava/lang/String;Ljava/lang/String;)V
[ant:iajc]                     INVOKESPECIAL org.springframework.http.converter.feed.AbstractWireFeedHttpMessageConverter.<init> (Lorg/springframework/http/MediaType;)V
[ant:iajc]     constructor-execution(void org.springframework.http.converter.feed.AtomFeedHttpMessageConverter.<init>())
[ant:iajc]     |               RETURN   (line 39)
[ant:iajc]     constructor-execution(void org.springframework.http.converter.feed.AtomFeedHttpMessageConverter.<init>())
[ant:iajc]   end public void <init>()
[ant:iajc] 
[ant:iajc]   protected boolean supports(Class):
[ant:iajc]     method-execution(boolean org.springframework.http.converter.feed.AtomFeedHttpMessageConverter.supports(java.lang.Class))
[ant:iajc]     |               LDC com.sun.syndication.feed.atom.Feed   (line 43)
[ant:iajc]     |               ALOAD_1     // Ljava/lang/Class; clazz
[ant:iajc]     | method-call(boolean java.lang.Class.isAssignableFrom(java.lang.Class))
[ant:iajc]     | |             INVOKEVIRTUAL java.lang.Class.isAssignableFrom (Ljava/lang/Class;)Z
[ant:iajc]     | method-call(boolean java.lang.Class.isAssignableFrom(java.lang.Class))
[ant:iajc]     |               IRETURN
[ant:iajc]     method-execution(boolean org.springframework.http.converter.feed.AtomFeedHttpMessageConverter.supports(java.lang.Class))
[ant:iajc]   end protected boolean supports(Class)
[ant:iajc] 
[ant:iajc] end public class org.springframework.http.converter.feed.AtomFeedHttpMessageConverter
[ant:iajc] 
[ant:iajc]  
[ant:iajc] Exception thrown from AspectJ 1.8.5
[ant:iajc] 
[ant:iajc] This might be logged as a bug already -- find current bugs at
[ant:iajc]   http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler
[ant:iajc] 
[ant:iajc] Bugs for exceptions thrown have titles File:line from the top stack, 
[ant:iajc] e.g., "SomeFile.java:243"
[ant:iajc] 
[ant:iajc] If you don't find the exception below in a bug, please add a new bug
[ant:iajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
[ant:iajc] To make the bug a priority, please include a test program
[ant:iajc] that can reproduce this exception.
[ant:iajc] org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc] 
[ant:iajc] when weaving type org.springframework.http.converter.feed.AtomFeedHttpMessageConverter
[ant:iajc] when weaving classes 
[ant:iajc] when weaving 
[ant:iajc] when batch building BuildConfig[null] #Files=49 AopXmls=#0
[ant:iajc] org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc] java.lang.ClassCastException: org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc]  at org.aspectj.weaver.BoundedReferenceType.parameterize(BoundedReferenceType.java:109)
[ant:iajc]  at org.aspectj.weaver.ResolvedType.parameterize(ResolvedType.java:2489)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterize(ResolvedMemberImpl.java:897)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:794)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:742)
[ant:iajc]  at org.aspectj.weaver.ReferenceType.getDeclaredMethods(ReferenceType.java:859)
[ant:iajc]  at org.aspectj.weaver.ResolvedType$MethodGetterIncludingItds.get(ResolvedType.java:252)
[ant:iajc]  at org.aspectj.weaver.ResolvedType$MethodGetterIncludingItds.get(ResolvedType.java:250)
[ant:iajc]  at org.aspectj.weaver.Iterators$4$1.hasNext(Iterators.java:213)
[ant:iajc]  at org.aspectj.weaver.Iterators$4.hasNext(Iterators.java:230)
[ant:iajc]  at org.aspectj.weaver.ResolvedType.lookupResolvedMember(ResolvedType.java:619)
[ant:iajc]  at org.aspectj.weaver.JoinPointSignatureIterator.findSignaturesFromSupertypes(JoinPointSignatureIterator.java:192)
[ant:iajc]  at org.aspectj.weaver.JoinPointSignatureIterator.hasNext(JoinPointSignatureIterator.java:68)
[ant:iajc]  at org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:317)
[ant:iajc]  at org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:197)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:56)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:56)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:113)
[ant:iajc]  at org.aspectj.weaver.Advice.match(Advice.java:109)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelAdvice.match(BcelAdvice.java:152)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:3304)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2692)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1689)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:514)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.queueForWeaving(AjPipeliningCompilerAdapter.java:447)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterProcessing(AjPipeliningCompilerAdapter.java:432)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$after$org_aspectj_ajdt_internal_compiler_CompilerAdapter$5$6b855184(CompilerAdapter.aj:103)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:822)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:480)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:420)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1036)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:272)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:185)
[ant:iajc]  at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
[ant:iajc]  at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
[ant:iajc]  at org.aspectj.tools.ajc.Main.run(Main.java:371)
[ant:iajc]  at org.aspectj.tools.ajc.Main.runMain(Main.java:248)
[ant:iajc]  at org.aspectj.tools.ajc.Main.main(Main.java:84)
[ant:iajc] 
[ant:iajc] trouble in: 
[ant:iajc] public class org.springframework.http.converter.feed.RssChannelHttpMessageConverter extends org.springframework.http.converter.feed.AbstractWireFeedHttpMessageConverter:
[ant:iajc]   public void <init>():
[ant:iajc]                     ALOAD_0     // Lorg/springframework/http/converter/feed/RssChannelHttpMessageConverter; this   (line 38)
[ant:iajc]                     NEW org.springframework.http.MediaType
[ant:iajc]                     DUP
[ant:iajc]                     LDC "application"
[ant:iajc]                     LDC "rss+xml"
[ant:iajc]                     INVOKESPECIAL org.springframework.http.MediaType.<init> (Ljava/lang/String;Ljava/lang/String;)V
[ant:iajc]                     INVOKESPECIAL org.springframework.http.converter.feed.AbstractWireFeedHttpMessageConverter.<init> (Lorg/springframework/http/MediaType;)V
[ant:iajc]     constructor-execution(void org.springframework.http.converter.feed.RssChannelHttpMessageConverter.<init>())
[ant:iajc]     |               RETURN   (line 39)
[ant:iajc]     constructor-execution(void org.springframework.http.converter.feed.RssChannelHttpMessageConverter.<init>())
[ant:iajc]   end public void <init>()
[ant:iajc] 
[ant:iajc]   protected boolean supports(Class):
[ant:iajc]     method-execution(boolean org.springframework.http.converter.feed.RssChannelHttpMessageConverter.supports(java.lang.Class))
[ant:iajc]     |               LDC com.sun.syndication.feed.rss.Channel   (line 43)
[ant:iajc]     |               ALOAD_1     // Ljava/lang/Class; clazz
[ant:iajc]     | method-call(boolean java.lang.Class.isAssignableFrom(java.lang.Class))
[ant:iajc]     | |             INVOKEVIRTUAL java.lang.Class.isAssignableFrom (Ljava/lang/Class;)Z
[ant:iajc]     | method-call(boolean java.lang.Class.isAssignableFrom(java.lang.Class))
[ant:iajc]     |               IRETURN
[ant:iajc]     method-execution(boolean org.springframework.http.converter.feed.RssChannelHttpMessageConverter.supports(java.lang.Class))
[ant:iajc]   end protected boolean supports(Class)
[ant:iajc] 
[ant:iajc] end public class org.springframework.http.converter.feed.RssChannelHttpMessageConverter
[ant:iajc] 
[ant:iajc]  
[ant:iajc] Exception thrown from AspectJ 1.8.5
[ant:iajc] 
[ant:iajc] This might be logged as a bug already -- find current bugs at
[ant:iajc]   http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler
[ant:iajc] 
[ant:iajc] Bugs for exceptions thrown have titles File:line from the top stack, 
[ant:iajc] e.g., "SomeFile.java:243"
[ant:iajc] 
[ant:iajc] If you don't find the exception below in a bug, please add a new bug
[ant:iajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
[ant:iajc] To make the bug a priority, please include a test program
[ant:iajc] that can reproduce this exception.
[ant:iajc] org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc] 
[ant:iajc] when weaving type org.springframework.http.converter.feed.RssChannelHttpMessageConverter
[ant:iajc] when weaving classes 
[ant:iajc] when weaving 
[ant:iajc] when batch building BuildConfig[null] #Files=49 AopXmls=#0
[ant:iajc] org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc] java.lang.ClassCastException: org.aspectj.weaver.MissingResolvedTypeWithKnownSignature cannot be cast to org.aspectj.weaver.ReferenceType
[ant:iajc]  at org.aspectj.weaver.BoundedReferenceType.parameterize(BoundedReferenceType.java:109)
[ant:iajc]  at org.aspectj.weaver.ResolvedType.parameterize(ResolvedType.java:2489)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterize(ResolvedMemberImpl.java:897)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:794)
[ant:iajc]  at org.aspectj.weaver.ResolvedMemberImpl.parameterizedWith(ResolvedMemberImpl.java:742)
[ant:iajc]  at org.aspectj.weaver.ReferenceType.getDeclaredMethods(ReferenceType.java:859)
[ant:iajc]  at org.aspectj.weaver.ResolvedType$MethodGetterIncludingItds.get(ResolvedType.java:252)
[ant:iajc]  at org.aspectj.weaver.ResolvedType$MethodGetterIncludingItds.get(ResolvedType.java:250)
[ant:iajc]  at org.aspectj.weaver.Iterators$4$1.hasNext(Iterators.java:213)
[ant:iajc]  at org.aspectj.weaver.Iterators$4.hasNext(Iterators.java:230)
[ant:iajc]  at org.aspectj.weaver.ResolvedType.lookupResolvedMember(ResolvedType.java:619)
[ant:iajc]  at org.aspectj.weaver.JoinPointSignatureIterator.findSignaturesFromSupertypes(JoinPointSignatureIterator.java:192)
[ant:iajc]  at org.aspectj.weaver.JoinPointSignatureIterator.hasNext(JoinPointSignatureIterator.java:68)
[ant:iajc]  at org.aspectj.weaver.patterns.SignaturePattern.matches(SignaturePattern.java:317)
[ant:iajc]  at org.aspectj.weaver.patterns.KindedPointcut.matchInternal(KindedPointcut.java:197)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:56)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.patterns.AndPointcut.matchInternal(AndPointcut.java:56)
[ant:iajc]  at org.aspectj.weaver.patterns.Pointcut.match(Pointcut.java:137)
[ant:iajc]  at org.aspectj.weaver.ShadowMunger.match(ShadowMunger.java:113)
[ant:iajc]  at org.aspectj.weaver.Advice.match(Advice.java:109)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelAdvice.match(BcelAdvice.java:152)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:3304)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.match(BcelClassWeaver.java:2692)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:480)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:100)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1689)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1633)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1398)
[ant:iajc]  at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1184)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.weaveQueuedEntries(AjPipeliningCompilerAdapter.java:514)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.queueForWeaving(AjPipeliningCompilerAdapter.java:447)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterProcessing(AjPipeliningCompilerAdapter.java:432)
[ant:iajc]  at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$after$org_aspectj_ajdt_internal_compiler_CompilerAdapter$5$6b855184(CompilerAdapter.aj:103)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:822)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:480)
[ant:iajc]  at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:420)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1036)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:272)
[ant:iajc]  at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:185)
[ant:iajc]  at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
[ant:iajc]  at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
[ant:iajc]  at org.aspectj.tools.ajc.Main.run(Main.java:371)
[ant:iajc]  at org.aspectj.tools.ajc.Main.runMain(Main.java:248)
[ant:iajc]  at org.aspectj.tools.ajc.Main.main(Main.java:84)
[ant:iajc] 
[ant:iajc] 九月 08, 2016 8:35:41 下午 org.aspectj.weaver.tools.Jdk14Trace info
[ant:iajc] 信息: Dumping to D:\***\.\ajcore.20160908.203541.662.txt
[ant:iajc] 
[ant:iajc] 2 fail|aborts
:myproject-common:compileAspect FAILED

if i remove the script

 ajInpath ("com.aa.bb:bb-core:1.0")

the gradle build will succeed, but i need weave external jar.

my project is based on intellij idea(16) + gradle(2.12) + spring boot(1.2.3)

any help will be appreciated.

===============================================

update:

after i add spring-framework to exclude, there's no compile error, but the external jar is still not woven.

ajInpath ("com.aa.bb:bb-core:1.0"){
    exclude(group: "org.springframework")
}

原文:https://stackoverflow.com/questions/39391357
更新时间:2023-07-29 19:07

最满意答案

这应该工作我认为:

dp[i, j] = minimum weight needed such that we have i litres of oxygen and j litres 
           of nitrogen

dp[0, 0] = 0 and inf everywhere else
for each read cylinder k do
  for i = maxTotalOxygen down to oxygen[k] do
    for j = maxTotalNitrogen down to nitrogen[k]  do
      dp[i, j] = min(dp[i, j],                                       <- do not take cylinder k
                     dp[i - oxygen[k], j - nitrogen[k]] + weight[k])  <- take cylinder k 

Answer is the minimum dp[i, j] such that i >= RequiredOxygen and j >= RequiredNitrogen.

请注意, for循环必须从最大值向下变为当前柱面的值,否则您允许多次使用柱面。

问题的限制非常小,我认为这应该有效。


This should work I think:

dp[i, j] = minimum weight needed such that we have i litres of oxygen and j litres 
           of nitrogen

dp[0, 0] = 0 and inf everywhere else
for each read cylinder k do
  for i = maxTotalOxygen down to oxygen[k] do
    for j = maxTotalNitrogen down to nitrogen[k]  do
      dp[i, j] = min(dp[i, j],                                       <- do not take cylinder k
                     dp[i - oxygen[k], j - nitrogen[k]] + weight[k])  <- take cylinder k 

Answer is the minimum dp[i, j] such that i >= RequiredOxygen and j >= RequiredNitrogen.

Note that the for loops must go from the max down to the values of the current cylinder, otherwise you allow a cylinder to be used more than once.

The problem constraints are very small and I think this should work.

相关问答

更多
  • 我不希望以实际的方式解决SPOJ问题,因此请将以下内容作为多时间DP的存在证明。 对于固定的K,可以用餐的字符串集合是无上下文的。 我要用g和h代替G和H 例如,对于K = 3,一个语法看起来像 S -> ε | g S g S g S G | h S h S h S H G -> ε | g S G H -> ε | h S H 这个想法是,要么没有食客,要么第一个晚餐至少有K - 1个人用餐,在任何两个(最后和最后)之间有一个可以用餐的线。 现在使用CYK的加权变量来找到最小权重解析,其中非空S产 ...
  • 据我了解,你几乎有解决方案。 如果递归关系正确但效率太低,您只需将递归更改为迭代。 显然,您已经拥有表示状态及其各自值的数组dp 。 基本上你应该能够用n , k和curr三个嵌套循环来解决填充dp ,它们将分别增加以确保已经计算了所需的dp中的每个值。 然后你用递归调用替换recurse访问dp 。 To my understanding, you almost have the solution. If the recurrence relation is correct but too ineffic ...
  • 在开始使用任何服务之前,阅读其常见问题通常是一件好事。 它解释了程序应该如何接收数据。 特别是,请注意打印enter a number和其他垃圾到控制台总是会导致错误的答案。 因为正确的程序会输出类似的东西 34 1998 1 和你的 enter a number enter two numbers 34 enter two numbers 1998 enter two numbers 1 我不知道为什么Java无法编译。 您可能应该找到有关如何使用参考解决方案在Java中提交的一些信息。 此外,问题定 ...
  • 这应该工作我认为: dp[i, j] = minimum weight needed such that we have i litres of oxygen and j litres of nitrogen dp[0, 0] = 0 and inf everywhere else for each read cylinder k do for i = maxTotalOxygen down to oxygen[k] do for j = maxTotalNitroge ...
  • N=input('no. of test cases bruh:') 我认为问题在于输入语句。 大多数有竞争力的编程站点,请检查输出流是否与指定的格式相同。 在你的情况下,它的输出将是 no. of test cases bruh: : 34 : 1998 : 1 因此错误的答案,因为它不符合预期的输出。 从输入语句中删除帮助文本以解决此问题。 N=input('no. of test cases bruh:') I think the problem is with the input statem ...
  • 输入可能很长。 问题陈述说“不超过1000000位”。 所以可能有几个测试用例有几十万个数字。 将这样的琴弦分成两半,翻转一半并附加它们确实需要一点时间。 但据我所知,Python的字符串处理非常好,所以这只是对这个问题的一小部分贡献。 花费很长时间的是将这样长度的字符串转换为数字,将大数字转换为字符串。 对于K = 10 ** 200000 + 2 ,步骤str_half = str(int(str_half+string[half]) + 1)仅需要几秒钟。 计算机上的速度可能会更快,但是SPOJ的机器 ...
  • while (tmp%10 != 0) // Reverse a number { cmp = (cmp * 10) + (tmp % 10); tmp = tmp / 10; } 如果您的号码中有0,如5403123,则tmp%10为0,并且它会停止反转该号码 while (tmp%10 != 0) // Reverse a number { cmp = (cmp * 10) + (tmp % 10); tmp = tmp / 10; } If your number ...
  • 您可以查看此方法以查找n中的尾随零数 ! 。 import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int count = in.nextInt(); for (int i = 0; i < count; i++) { int n = in.ne ...
  • 我相信你的代码在这个测试用例中输出119 (实际上我不时会遇到运行时错误): 1 22 175 5 3 36 120 10 25 129 5 50 250 1 45 130 4 20 119 虽然这显然不是正确的答案。 希望这可以帮助。 I believe your code outputs 119(actually from time to time I get runtime error) on this test case: 1 22 175 5 3 36 120 10 25 129 5 50 25 ...
  • 我认为这些方面可能存在问题: temp=(result[a-1][b-2]*points[a-1]*(points[a-1]-1))%MODULO; temp=temp>>1; 问题是在使用模运算时划分时需要格外小心。 例如,考虑x / 2模100.这与x modulo 100除以2不同。 假设x为100, x/2 % 100 = 100/2 % 100 = 50 % 100 = 50 但 (x % 100)/2 = (100%100)/2 = 0/2 = 0 在计算模数之前尝试进行除法: temp= ...

相关文章

更多

最新问答

更多
  • h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
  • 创建一个功能(Create a function)
  • 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
  • PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
  • Qt冻结循环的原因?(Qt freezing cause of the loop?)
  • TableView重复youtube-api结果(TableView Repeating youtube-api result)
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
  • 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
  • 以编程方式创建UITableView(Creating a UITableView Programmatically)
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
  • Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
  • 设置kotlin扩展名(Setting a kotlin extension)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 如何在vim中启用python3?(How to enable python3 in vim?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • dedecms如何安装?
  • 在哪儿学计算机最好?
  • 学php哪个的书 最好,本人菜鸟
  • 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
  • 如何覆盖错误堆栈getter(How to override Error stack getter)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
  • 电脑高中毕业学习去哪里培训
  • 正则表达式验证SMTP响应(Regex to validate SMTP Responses)