9

Maven の 3.1.0 リリースは、 Sonatype Aether (org.sonatype.aether) の代わりに Eclipse Aether (org.eclipse.aether) に依存しています。これにより、Sonatype aether に依存するプラグインの互換性が損なわれるようです: そのようなプラグインを実行してみると、次のような問題が発生します:

java.lang.NoClassDefFoundError: org/sonatype/aether/*
Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.*

https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFoundに記載されているとおり

さて、 aether クラス(org.sonatype.aether.RepositorySystemSession など)に依存するモジョを Maven 3.0.x と Maven 3.1.x の両方で実行することは可能ですか?

それとも、同じプラグインの 2 つのバージョン (1 つは 3.0.x 用、もう 1 つは 3.1.x 用) をリリースする必要がありますか? エンフォーサ ルールを次のように配置します。

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.3</version>
    <executions>
      <execution>
        <id>enforce-maven</id>
        <goals>
          <goal>enforce</goal>
        </goals>
        <configuration>
          <rules>
            <requireMavenVersion>
              <version>[3.0,3.1)</version>
            </requireMavenVersion>
          </rules>
        </configuration>
      </execution>
    </executions>
  </plugin>

私はすでに Maven 開発者メーリング リストに質問を投稿しましたが、これまでのところ回答がありません...

4

1 に答える 1