日本時間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-SNAPSHOT
geronimo-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 件のコメント:
コメントを投稿