問題タブ [aspectj-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
316 参照

java - spectj - Intertype メソッド宣言が Maven で機能しない

Maven と AspectJ を使用してプロジェクトをコンパイルする際に問題があります。

これはPOMの抜粋ですaspectj-maven-plugin(有効なPOMから取得):

を起動するmvn clean deployと、次の行が表示されました。

スコープを単一のケースに減らすだけです:

したがって、メソッドgetId()がクラスに正しく注入されているように見えBandます。しかし、Maven がテストのコンパイルと単体テストに進むと、次のようになります。

そして、他のエラーの詳細の中で、私は得ました

結局のところ、インタータイプで宣言されたものはすべて注入されていないかのように。

コードに何らかのエラーがあるかどうかを確認するために、Eclipse 内から JUnit テストを実行してみましたが、すべて正常に動作しました。

したがって、Maven のコンパイル プロセスで、正しく設定していないことがあると思います。

問題の原因を理解できる人はいますか?

0 投票する
0 に答える
141 参照

java - 内部 jar 内の非スプリング クラスで AspectJ が機能しない

AspectJ初心者です。@AspectMyAspect.java などのアスペクト ロギングを持つ注釈付きクラスを含む Parent.jar があります。ポイントカットでParent.jarのパッケージに言及すると、これはうまく機能していますMyAspect。Parent.jar には、依存関係として child.jar が含まれています。child.jar のパッケージで同じアスペクトログを確認したいと思います。この流れがうまくいかない..

私のプロジェクトは Spring Boot アプリケーションです。AspectJ に特定の依存関係を追加することはありません。

どんな助けでも大歓迎です。

0 投票する
1 に答える
727 参照

maven - 魅力レポートの生成中にMavenサイトのライフサイクルが失敗する

「mvn サイト」を実行してアリュール レポートを生成しようとしていますが、レポートを生成できないため、以下のエラーが発生しています。

前もって感謝します。


Pom.xml ファイル

以下は、allure プラグインへの参照を含む pom.xml で、私は allure testng アダプターを使用しています。

0 投票する
1 に答える
516 参照

proxy - Spring 4 Java Config トランザクション プロキシと Aspecj

私は、aspectj トランザクションを使用する新しいプロジェクトを作成しています。また、インターフェイスが必要なプロキシ メソッドを使用するサービスを含むレガシー jar も使用します。

私はJava構成を使用しており、設定時に

次に、レガシー ライブラリからプロキシ スタイル サービスにアクセスすると、次の例外がスローされます。

私が変更した場合:

@EnableTransactionManagement(mode=AdviceMode.PROXY)

その後、問題は発生しませんが、新しいプロジェクトで aspectj スタイルのトランザクションを使用することはできません。

@EnableTransactionManagement各 adviceMode に2 つの注釈を追加しようとしましたが、それは許可されていません。

ここに注釈付きのクラスがあります

また、コンパイル時にウィービングを処理し、aspectj トランザクションが機能することを期待して、aspectj maven プラグインをレガシー プロジェクトに追加しました。しかし、これで問題は解決していません。

両方のアドバイス モードでスプリング ディールを行うことは可能ですか? どうすればいいですか?

または、この問題を回避する別の方法があります。

0 投票する
1 に答える
657 参照

java - IntelliJ ajc:aspectj-maven-pluginから除外する方法は?

IntelliJ で ajc コンパイラを使用しています。また、aspectj-maven-plugin を使用して、次の除外を宣言しています。

を使用してコンパイルするmvn compileと、すべて問題なく、EmployeeAccessAspectアスペクトは正しく無視されます。

ただし、MakeIntelliJ でプロジェクトを作成する場合、見つかったすべての側面を織り込むだけです (Maven の除外は完全に無視されます)。

ajc コンパイラ オプションまたはアスペクト パスをハックして目的を達成することはいつでもできますが、何らかの理由でアスペクトを除外する必要がある場合は、2 つの場所を変更する必要があります。

Maven プラグインと ajc コンパイルを同期させる方法はありますか? IntelliJ 15 を使用しています。

0 投票する
1 に答える
301 参照

java-8 - AspectJ: Weblogic 12 の問題

私は次の設定でJava EEアプリケーションに取り組みました:

  • JDK1.7
  • アスペクトJ 1.7
  • ウェブロジック 12.1.3

ただし、構成を次のようにアップグレードした後、「call」ワイルドカードを含むすべての側面が適切に機能せず、その結果、すでにヒットしているジョインポイントに触れることができなくなりました。

  • JDK バージョン: 1.8.0_66
  • アスペクト J バージョン: 1.8.7
  • アプリケーション サーバー: Weblogic 12.2.1

アスペクトのスニペットは次のとおりです。
@Before("call(public * com.gam.commons.core.api.services.Service+.(..)) && within(com.gam.calendar.biz.service.internal.impl.)") public void handle(JoinPoint thisJoinPoint) {
Class declaringType = thisJoinPoint.getSignature().getDeclaringType(); if (declaringType.isInterface()) { UserProfileTO userProfileTO = ((AbstractService) thisJoinPoint.getThis()).getUserProfileTO();/* Caller or this / ((Service) thisJoinPoint.getTarget()).setUserProfileTO(userProfileTO);/ Callee or target */ } }

さて、あなたが私を養うために何か有意義な点があれば、私は喜んで楽しみにしています.


注意: 私の問題は別の原因によるものでした。私の回答を見て、問題に関する詳細情報を収集してください。

0 投票する
1 に答える
2101 参照

aspectj - Aspectj は、クラスの再配置後に「org.aspectj.weaver.BCException: 不正な形式の org.aspectj.weaver.PointcutDeclaration 属性」例外をスローします

私が取り組んでいるプロジェクトで AspectJ を使用しています。プロジェクトの一環として、あるjarから別のjarにクラスを再配置するために、「maven-shade-plugin」と「jarjar-maven-plugin」を使用しようとしていました。

どちらの場合も、生成された JAR を使用しようとすると、AspectJ は次の例外で失敗しました。

私が間違っていることを指摘していただければ幸いです。

ありがとう、ナダフ

0 投票する
1 に答える
641 参照

maven - AspectJ コンパイル時間の織り込みの影響を受ける Jacoco コード カバレッジ

現在のプロジェクトをビルドするために maven を使用しています。コード カバレッジ用に Jacoco を使用し、アスペクトのコンパイル時ウィービング用に aspectJ を使用しています。

現在、aspectJ がコード カバレッジに影響を与えるコードを織り込んでいるという問題に直面しています。

コードを織り込まない場合は 100% ですが、aspectJ を使用すると 1/4 にまで下がります。ポインタはありますか?