これは一日中私を殺しています。私は日食でアンドロイド/Javaに取り組んでいます。
これが私がやりたいことです
ライブラリの 1 つを埋め込みたい - DatabaseLibrary
私の別のライブラリ内 - LogicLibrary
重要なのは、DatabaseLibrary のメソッドを、LogicLibrary にアクセスできるサードパーティに公開しないことです。
このようにproguard-maven-pluginを使用して含めてみました
<configuration>
<assembly>
<inclusions>
<inclusion>
<groupId>xxx</groupId><artifactId>DatabaseLibrary</artifactId><library>true</library>
</inclusion>
</inclusions>
</assembly>
ただし、これにはすべてのメソッドが DatabaseLibrary に含まれ、サードパーティに公開されます。
LogicLibrary が DatabaseLibrary に対して、サード パーティに表示されることなく呼び出せるようにしたいと考えています。
私はウェブ全体を検索しましたが、uber jar と呼ばれるものが必要なようです。ただし、ここで言及されている maven-assembly-plugin などのいくつかの方法を試しましたhttps://stackoverflow.com/a/1834905/1312937
mavenはjarに依存関係アーティファクトコードを埋め込みます
しかし、私はこれでどこにも行きません.それはmaven 2の答えのように見えるので、maven 3のために何か違うことが必要ですか?
uberjar が私の目的を達成するための正しい方法であるかどうか、誰か教えてもらえますか? 別のパターンがある場合はお知らせください。私はmavenに縛られていません。