私は、空であるか、または様々な名前のjarファイルを持つjarファイルのディレクトリを持っています。私はそれらを解凍して、私の太った瓶に入れたいと思います。私はzipTree( 'path')からの使用を見てきましたが、これは特定のjar/zipファイル名でしか動作しないようです。jarファイルの内容を直接的に追加するためのGradle jarタスク
ここは私の現在のgradleタスクです。
task buildSweetJar(dependsOn: classes, type: Jar) {
baseName 'MySweetJar'
from ([sourceSets.main.output, configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } ])
from zipTree ('tmp_plug/*.jar') -- this doesn't work
manifest {
attributes (
'Main-Class': 'my.app.SysInit',
'Class-Path': configurations.compile.collect { it.getName() }.join(' ')
)
}
exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA'
}
- 私はjarファイルのディレクトリ全体が が自分の名前を知らなくても、解凍/含めたいです。これは可能ですか?
- jarファイルの内容も、このjarのクラスパス上に置いてください。これはどのように可能ですか?
更新:
私は、ディレクトリ内の各jarファイルを歩くことができるようにFileTreeを学ぶことができました。しかし、これをクラスパスにどのように追加するのかは分かりません。
FileTree pluginFileTree = fileTree(dir: 'tmp_plug/')
from ([sourceSets.main.output, configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } ])
pluginFileTree.each {
File pluginJarFile ->
from zipTree (pluginJarFile)
}
あなたのコードを実行するのに必要なすべての瓶が入ったジャンパーだけではありません - あなたはこれを認識していると思いますか? – robjwilkins
実際、いいえ、私は気づいていませんでした。私は私の用語が正しいとは思わない。 –
fat Jarは実行可能なjarの別の名前で、コマンドラインから単独で実行できます。例えば"java -jar your_jar_file.jar"これはあなたがやりたいこと、あるいは何か他のものを達成しようとしていますか? – robjwilkins