Eclipse birtへの依存関係をプロジェクトに追加したところ、非常に奇妙な失敗が発生しました。
java.lang.SecurityException: sealing violation: package org.apache.derby.impl.store.raw.xact is sealed
統合テストまたは
java.sql.SQLException: Catalogs at version level 'null' cannot be upgraded to version level '10.5'.
ERROR XCL20: Catalogs at version level 'null' cannot be upgraded to version level '10.5'.
最初のグーグルは、ダービーへの依存関係の競合の可能性を示しています。
mvn dependency:list
これを証明しています。birtにはダービー10.5が必要で、jarの1つには10.8が必要です。したがって、両方のderby依存関係は推移的です(birts依存関係はより間接的です-ツリーの1レベル深い)。
この/そのような競合を解決する方法は?
(pomで順序を変更しても役に立ちません)
その間、私はダン・マシューズ-グラウトによる答えを試しました-今ではうまくいきます:
<dependency>
<groupId>de.stalabw</groupId>
<artifactId>charts</artifactId>
<version>0.0.2</version>
<exclusions>
<exclusion>
<!-- does not work<groupId>org.apache.derby</groupId> but this:-->
<groupId>org.eclipse.birt.runtime.3_7_1</groupId>
<artifactId>derby</artifactId>
</exclusion>
</exclusions>
</dependency>
エラーは同じで、「mvndependency:list」は変更されていません。依存関係はチャート->birt->derbyツリーの関連部分です:
+- <myPackage.myProject>:metaDataService:jar:1.8.0:compile
| +- org.apache.derby:derby:jar:10.8.1.2:compile
...
\- <myPackage>:charts:jar:0.0.2:compile
\- org.eclipse.birt.runtime:org.eclipse.birt.runtime:jar:4.2.0:compile
...
+- org.eclipse.birt.runtime.3_7_1:derby:jar:10.5.1000001:compile