Java コード内で Aspects の使用を開始したいと考えており、RetryOnFailure アノテーションを見つけたので、これが最初のものになると判断しました。最初はPOMファイルにエラーが表示されましたが、いくつかの調査により、Eclipseのm2eは実行/ビルドのタイミングがわからないため、lifecycleMappingMetadataをPOMに追加する必要があったため、それを乗り越えました。ただし、Eclipse 内の Annotation のクラス ファイルでエラーが発生します。それを乗り越える方法についてのアイデアは大歓迎です。
クラスファイルの関連部分:
@RetryOnFailure(attempts = 2, delay = 10, verbose = false)
private static LeadQualificationResponse callLeadQualificaiton(LeadQualificationRequest leadQualificationRequest, MidasStub midasStub) throws RemoteException {
LeadQualificationResponse leadQualificationResponse = null;
leadQualificationResponse = midasStub.leadQualification(leadQualificationRequest);
return leadQualificationResponse;
}
POM のスニペット:
<pluginManagement>
<plugins>
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-maven-plugin</artifactId>
<versionRange>[0.8,)</versionRange>
<goals>
<goal>ajc</goal>
</goals>
</pluginExecutionFilter>
<action>
<execute>
<runOnIncremental>false</runOnIncremental>
</execute>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>com.jcabi</groupId>
<artifactId>jcabi-maven-plugin</artifactId>
<version>0.8</version>
<executions>
<execution>
<goals>
<goal>ajc</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
また、runOnIncremental を true に設定して、実行要素の POM ファイルで次のエラーを取得しようとしました
ゴール com.jcabi:jcabi-maven-plugin:0.8:ajc の実行デフォルトが失敗しました: com.jcabi:jcabi-maven-plugin:0.8:ajc の実行中に必要なクラスが見つかりませんでした: Lorg/sonatype/aether/RepositorySystemSession;
レルム = プラグイン>com.jcabi:jcabi-maven-plugin:0.8 戦略 = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy urls[0] = ファイル:/C:/Users/Jeffrey/.m2/repository/com/ jcabi/jcabi-maven-plugin/0.8/jcabi-maven-plugin-0.8.jar urls[1] = ファイル:/C:/Users/Jeffrey/.m2/repository/com/jcabi/jcabi-log/0.7.22 /jcabi-log-0.7.22.jar URL[2] = ファイル:/C:/Users/Jeffrey/.m2/repository/log4j/log4j/1.2.17/log4j-1.2.17.jar URL[3] =ファイル:/C:/Users/Jeffrey/.m2/repository/org/aspectj/aspectjrt/1.7.3/aspectjrt-1.7.3.jar URL[4] = ファイル:/C:/Users/Jeffrey/.m2/リポジトリ/org/slf4j/slf4j-api/1.7.5/slf4j-api-1.7.5.jar URL[5] = ファイル:/C:/Users/Jeffrey/.m2/repository/com/jcabi/jcabi-aether /0.7.22/jcabi-aether-0.7.22.jar urls[6] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/kuali/maven/wagons/maven-s3-wagon/1.1. 20/maven-s3-wagon-1.1.20.jar urls[7] = ファイル:/C:/Users/Jeffrey/.m2/リポジトリ/org/kuali/common/kuali-s3/1.0.1/kuali-s3-1.0.1.jar urls[8] = ファイル:/C:/Users/Jeffrey/.m2/repository/com/amazonaws /aws-java-sdk/1.4.2/aws-java-sdk-1.4.2.jar urls[9] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/apache/httpcomponents/httpclient/ 4.1/httpclient-4.1.jar URL[10] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/apache/httpcomponents/httpcore/4.1/httpcore-4.1.jar URL[11] = ファイル:/ C:/Users/Jeffrey/.m2/repository/commons-codec/commons-codec/1.8/commons-codec-1.8.jar urls[12] = ファイル:/C:/Users/Jeffrey/.m2/repository/org /codehaus/jackson/jackson-core-asl/1.8.9/jackson-core-asl-1.8.9.jar urls[13] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/codehaus/ jackson/jackson-mapper-asl/1.8.9/jackson-mapper-asl-1.8.9.jar urls[14] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/springframework/spring-core /3.1.2.RELEASE/spring-core-3.1.2.RELEASE.jar urls[15] = ファイル:/C:/Users/Jeffrey/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar urls[16] = file:/C:/Users /Jeffrey/.m2/repository/org/kuali/common/kuali-threads/1.0.9/kuali-threads-1.0.9.jar urls[17] = ファイル:/C:/Users/Jeffrey/.m2/repository /org/slf4j/jcl-over-slf4j/1.6.4/jcl-over-slf4j-1.6.4.jar urls[18] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/ aether/aether-util/1.13.1/aether-util-1.13.1.jar urls[19] = file:/C:/Users/Jeffrey/.m2/repository/org/sonatype/aether/aether-connector-file /1.13.1/aether-connector-file-1.13.1.jar urls[20] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/aether/aether-connector-asynchttpclient/1.13. 1/aether-connector-asynchttpclient-1.13.1.jar urls[21] = ファイル:/C:/Users/Jeffrey/.m2/repository/com/ning/async-http-client/1.6.5/async-http -client-1.6.5.jar urls[22] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/jboss/netty/netty/3.2.5.Final/netty-3.2.5.Final.jar urls[23] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype /aether/aether-connector-wagon/1.13.1/aether-connector-wagon-1.13.1.jar urls[24] = ファイル:/C:/Users/Jeffrey/.m2/repository/com/jcabi/jcabi-アスペクト/0.7.22/jcabi-aspects-0.7.22.jar urls[25] = ファイル:/C:/Users/Jeffrey/.m2/repository/com/jcabi/jcabi-maven-slf4j/0.7.22/jcabi -maven-slf4j-0.7.22.jar URL[26] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/aspectj/aspectjtools/1.7.3/aspectjtools-1.7.3.jar URL[27 ] = file:/C:/Users/Jeffrey/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar urls[28] = ファイル:/ C:/Users/Jeffrey/.m2/repository/org/hibernate/hibernate-validator/5.0.1.Final/hibernate-validator-5.0.1.Final.jar urls[29] = ファイル:/C:/Users/ジェフリー/.m2/repository/org/jboss/logging/jboss-logging/3.1.1.GA/jboss-logging-3.1.1.GA.jar urls[30] = ファイル:/C:/Users/Jeffrey/.m2/repository /com/fasterxml/classmate/0.8.0/classmate-0.8.0.jar urls[31] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/jfrog/maven/annomojo/maven-plugin- anno/1.4.1/maven-plugin-anno-1.4.1.jar urls[32] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/sisu-inject-bean/2.3 .0/sisu-inject-bean-2.3.0.jar urls[33] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/sisu-guice/3.1.0/sisu- guice-3.1.0-no_aop.jar urls[34] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-bean-containers/2.3.0/guice-bean -containers-2.3.0.jar urls[35] = file:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-bean-inject/2.3.0/guice-bean- inject-2.3.0.jar urls[36] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-plexus-shim/2.3.0/guice-plexus-shim-2.3.0.jar urls[37] = ファイル:/C:/Users/Jeffrey/.m2 /repository/javax/inject/javax.inject/1/javax.inject-1.jar urls[38] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/sisu-guice/ 3.1.0/sisu-guice-3.1.0.jar urls[39] = ファイル:/C:/Users/Jeffrey/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar urls[40] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-bean-reflect/2.3.0/guice-bean-reflect-2.3.0.jar urls[41] = ファイル: /C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-bean-locators/2.3.0/guice-bean-locators-2.3.0.jar urls[42] = ファイル:/ C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-bean-binders/2.3.0/guice-bean-binders-2.3.0.jar urls[43] = ファイル:/C :/Users/Jeffrey/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar urls[44] = ファイル:/C:/Users/Jeffrey/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar urls[45] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-bean-scanners/2.3.0/guice-bean-scanners-2.3.0.jar urls[46] = file:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-bean-converters/2.3.0/guice-bean-converters-2.3.0.jar urls[47] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-plexus-metadata/2.3.0/guice-plexus-metadata-2.3.0.jar urls[48] = ファイル: /C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-plexus-converters/2.3.0/guice-plexus-converters-2.3.0.jar urls[49] = ファイル:/ C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/inject/guice-plexus-locators/2.3.0/guice-plexus-locators-2.3.0.jar urls[50] = ファイル:/C :/ユーザー/ジェフリー/。m2/repository/org/sonatype/sisu/inject/guice-plexus-binders/2.3.0/guice-plexus-binders-2.3.0.jar urls[51] = ファイル:/C:/Users/Jeffrey/.m2 /repository/org/sonatype/sisu/inject/guice-plexus-scanners/2.3.0/guice-plexus-scanners-2.3.0.jar urls[52] = ファイル:/C:/Users/Jeffrey/.m2/リポジトリ/org/sonatype/sisu/inject/guice-plexus-lifecycles/2.3.0/guice-plexus-lifecycles-2.3.0.jar urls[53] = ファイル:/C:/Users/Jeffrey/.m2/リポジトリ/org/codehaus/plexus/plexus-utils/2.0.6/plexus-utils-2.0.6.jar urls[54] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/codehaus/plexus/ plexus-interpolation/1.14/plexus-interpolation-1.14.jar urls[55] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus -component-annotations-1.5.5.jar urls[56] = file:/C:/Users/Jeffrey/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar urls[57] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar urls[58] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/sonatype/sisu/sisu-guava/0.11.1/sisu-guava-0.11.1.jar urls[59] = ファイル: /C:/Users/Jeffrey/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar urls[60] = ファイル:/C:/Users/Jeffrey/. m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar urls[61] = ファイル:/C:/Users/Jeffrey/.m2/repository/org/apache/commons/commons-lang3 /3.1/commons-lang3-3.1.jar 外部インポートの数: 1 インポート: エントリ [レルム ClassRealm からのインポート [maven.api、親: null]]1/sisu-guava-0.11.1.jar urls[59] = ファイル:/C:/Users/Jeffrey/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9 .jar urls[60] = ファイル:/C:/Users/Jeffrey/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar urls[61] = file:/C:/ Users/Jeffrey/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar 外国からのインポートの数: 1 インポート: Entry[レルムからのインポート ClassRealm[maven.api, 親: null ]]1/sisu-guava-0.11.1.jar urls[59] = ファイル:/C:/Users/Jeffrey/.m2/repository/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9 .jar urls[60] = ファイル:/C:/Users/Jeffrey/.m2/repository/commons-io/commons-io/2.4/commons-io-2.4.jar urls[61] = file:/C:/ Users/Jeffrey/.m2/repository/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar 外国からのインポートの数: 1 インポート: Entry[レルムからのインポート ClassRealm[maven.api, 親: null ]]
(com.jcabi:jcabi-maven-plugin:0.8:ajc:default:process-classes)