3

Maven プロジェクトのセットがあり、アクセス ルールを定義したいと考えています。
たとえば、プロジェクト Database と Cache は、プロジェクト DataLayer からのみアクセスできますが、プロジェクト UiLayer からはアクセスできません。私はMavenプロジェクトの観点から話していますが、Mavenプロジェクトに簡単に統合できる限り、パッケージレベルのアクセス検証も機能する可能性があります.

私はMackerを見てきました.Mackerには、アクセス制御の白黒Javaパッケージ、スタイルチェックなどの優れた機能セットがありますが、それを一連のMavenプロジェクトに結び付けるのに苦労しています。

まだ開発中のmacker-maven-pluginがあり、私はそれを機能させることができましたが、うまく機能しないのではないかと心配しています。
このプラグインは、すべてのプロジェクトのクラスで検証を実行します。
これは、ルールが破られていないことを確認するために、これからは maven プロジェクトごとに macker-rules.xml でアクセス ルールを定義する必要があることを意味します。これはメンテナンスの悪夢のようです。

だから - macker-maven-plugin の使用で何かを見逃しましたか? おそらく私はそれを正しく使用していません。

私は JDepend の経験はありませんが、簡単に読むと macker のシン バージョンのように見えます。jDepend maven pluginがありますが、その機能は単に使用状況と統計に関するレポートを生成するだけですが、本当に必要なのは別のものであり、失敗するとビルドに失敗するアクセスチェックです。

Mavenプロジェクトのプロジェクトアクセスチェックまたはパッケージアクセスチェックのより良い代替案を誰かが提案できますか?

ありがとう

4

2 に答える 2

1

maven-enforcer-pluginから禁止された依存関係を探していると思います。

<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.0</version>
    <executions>
      <execution>
        <id>enforce-banned-dependencies</id>
        <goals>
          <goal>enforce</goal>
        </goals>
        <configuration>
          <rules>
            <bannedDependencies>
              <excludes>
                <exclude>org.apache.maven</exclude>
                <exclude>org.apache.maven:badArtifact</exclude>
                <exclude>*:badArtifact</exclude>
              </excludes>
              <includes>
                <!--only 1.0 of badArtifact is allowed-->
                <include>org.apache.maven:badArtifact:1.0</include>
              </includes>
            </bannedDependencies>
          </rules>
          <fail>true</fail>
        </configuration>
      </execution>
    </executions>
  </plugin>
</plugins>
于 2010-01-05T11:23:25.730 に答える