Share
Embed
Transcript
9 slides
-
名前衝突祭り [error] Deduplicate found different file contents in the following:
[error] Jar name = ... org = ... target = META-INF/... [error] Jar name = ... org = ... target = META-INF/... [error] Jar name = ... org = ... target = META-INF/... [error] Jar name = ... org = ... target = META-INF/... [error] Jar name = ... org = ... target = META-INF/... [error] Jar name = ... org = ... target = META-INF/... [error] Deduplicate found different file contents in the following: [error] Jar name = ... org = ... target = META-INF/... [error] Jar name = ... org = ... target = META-INF/... -
META-INFを笑うもの 「META-INF?どうせ署名とかだけだし捨てても大丈夫っしょ」 build.sbt val assemblyMergeStrategySetting = assemblyMergeStrategy := { case
PathList("META-INF", _*) => MergeStrategy.discard case x => val oldStrategy = (ThisBuild / assemblyMergeStrategy).value oldStrategy(x) } -
META-INFに泣く 原因 JDBCのドライバクラスを自動でロードするのにjarの仕様であるサービスプロバイダを使って いた DriverManager メソッド getConnection と getDrivers は、Java
Standard Edition サー ビスプロバイダメカニズムをサポートするように拡張されました。JDBC 4.0 ドライバ は、ファイル META-INF/services/java.sql.Driver を含める必要があります。このファイ ルには、java.sql.Driver の JDBC ドライバ実装の名前が含まれます。たとえば my.sql.Driver クラスをロードするために、META-INF/services/java.sql.Driver ファイル に次のエントリが含まれます。 https://docs.oracle.com/javase/jp/6/api/java/sql/DriverManager.html