日本時間9/10夜あたりから、今までずっと使って来た AppEngine + Maven のビルドが急に通らなくなった。
1) org.apache.geronimo.specs:geronimo-jpa_2.0_spec:jar:1.0-EA2-SNAPSHOT
Try downloading the file manually from the project website.
Then, install it using the command:
mvn install:install-file -DgroupId=org.apache.geronimo.specs -DartifactId=geronimo-jpa_2.0_spec -Dversion=1.0-EA2-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file
Alternatively, if you host your own repository you can deploy the file there:
mvn deploy:deploy-file -DgroupId=org.apache.geronimo.specs -DartifactId=geronimo-jpa_2.0_spec -Dversion=1.0-EA2-SNAPSHOT -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
Path to dependency:
1) org.datanucleus:maven-datanucleus-plugin:maven-plugin:1.1.3
2) org.datanucleus:datanucleus-jpa:jar:2.0.0-m2
3) org.apache.geronimo.specs:geronimo-jpa_2.0_spec:jar:1.0-EA2-SNAPSHOTgeronimo-jpa_2.0_specってのがどこのリポジトリにも見当たらない。
pluginの依存を切る
今までpluginの依存をexclusionする方法を知らなかったけど、妙な記述でできたのでメモっておく。maven-datanucleus-pluginで定義されているdatanucleus-jpaへの依存を再定義しているようで気持ち悪い。
<pluginManagement>
<plugins>
<plugin>
<groupId>org.datanucleus</groupId>
<artifactId>maven-datanucleus-plugin</artifactId>
<version>1.1.3</version>
<dependencies>
<dependency>
<groupId>org.datanucleus</groupId>
<artifactId>datanucleus-jpa</artifactId>
<version>2.0.0-m2</version>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jpa_2.0_spec</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>今回はこれで凌げたけど、そもそもdatanucleus-jpa:2.0.0-m2に依存してしまうという状況が謎。よくよく見てみると、maven-datanucleus-plugin はdatanucleus-jpa二大して[1.1, 1.1.99)というバージョンの範囲(1.1-1.1.98)で指定されている。つまり、2.0.0-m2は範囲外のはずなんだよなぁ。なんでこんな動きをするのかなぁ。maven-datanucleus-pluginじゃなくてdatanucleus-enhancerを使ってみた方が良いのかなぁ。
0 件のコメント:
コメントを投稿