0

アノテーションに基づくカスタム セキュリティ フレームワークがあります。メソッドのセキュリティ アノテーションに遭遇したときに、aspectj maven プラグインを使用してアスペクトを織ります。

jenkins を使用してプロジェクトをビルドし、aspectj maven プラグインの目標を以下のようにコンパイル用に設定します。

    <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>aspectj-maven-plugin</artifactId>
            <version>1.4</version>
            <dependencies>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjrt</artifactId>
                    <version>1.6.5</version>
                </dependency>
                <dependency>
                    <groupId>org.aspectj</groupId>
                    <artifactId>aspectjtools</artifactId>
                    <version>1.6.5</version>
                </dependency>
            </dependencies>
            <configuration>
                <showWeaveInfo>true</showWeaveInfo>
                <complianceLevel>1.6</complianceLevel>
                <!-- <weaveDirectories> <weaveDirectory>${project.build.directory}/classes</weaveDirectory> 
                    </weaveDirectories> -->
            </configuration>
            <executions>
                <execution>
                    <!-- Compile and weave aspects after all classes compiled by javac -->
                    <phase>process-classes</phase>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

問題は、junit の実行時に発生します。メソッドにセキュリティ関連の注釈が既に織り込まれているため、単体テストは失敗します。

junits を機能させてから、aspectj 織りを行う方法はありますか? .aj ファイルを個別に使用しているため、読み込み時間の織り方をどのように設定できるかわかりません。

これに関するヘルプをいただければ幸いです。

よろしく

4

2 に答える 2

1

私はMavenの目標を次のように再編成しました

クリーンコンパイルテストアスペクトj:コンパイル

したがって、アスペクト織りをテストした後、私が望んでいたすべてが完了しました。

于 2013-07-10T18:30:37.463 に答える
0

目標に test-compile を追加する必要があると思います。

<goals>
    <goal>compile</goal>
    <goal>test-compile</goal>
</goals>
于 2013-02-20T17:36:22.587 に答える