2017-07-08 5 views
0

推移libsにはJARタスクとpackagedされていない場合:逆に太っているJARの代わりになるのは何ですか?

By default, jar task in gradle builds an executable jar file from your project source files. It will not contain any transitive libs that are needed for your program. 

、NetbeansのパッケージJAR依存関係または推移LIBSを行います。脂肪よりもむしろJARどうすればgradleにlibsが含まれていますか? 「道」は「脂肪JAR」にはなりませんJARタスクでLIBSをパッケージ化するために何が?:another問題に関連して

plugins { 
    id 'com.gradle.build-scan' version '1.8' 
    id 'java' 
    id 'application' 
} 


mainClassName = 'net.bounceme.dur.mbaas.json.Main' 


buildScan { 
    licenseAgreementUrl = 'https://gradle.com/terms-of-service' 
    licenseAgree = 'yes' 
} 

repositories { 
    jcenter() 
} 


jar { 
    manifest { 
     attributes 'Main-Class': 'net.bounceme.dur.mbaas.json.Main' 
    } 
} 

dependencies { 
    //compile fileTree(dir: 'libs', include: ['*.jar']) 
    runtime group: 'com.google.firebase', name: 'firebase-admin', version: '5.2.0' 
    compile fileTree(dir: 'lib', include: '*.jar') 
} 

+1

http://imperceptiblethoughts.com/shadow/ – Salem

+0

[Gradleを使用して太った瓶を作る方法](https://www.google.com/search?q=how+to + Gradle&aqs = chrome..69i57.133j0j7&sourceid = chrome&ie = UTF-8を使用して、+ a + fat + jar +を+ Gradle&oq = how + to +作成+ a + fat + jar +これは、「太っているJARの代わりになるのは何ですか?」という答えです。は、 "脂肪の瓶を作成しないでください"です。 –

+0

このfat JARのすべてのファイル:http://paste.ubuntu.com/25048768/ ** fat JARの中に** **非fat JARが必要です。しかし、私はクラスパス上のJARも望んでいます。クラスパスだけではなく、実際には自分のディレクトリにあります。私は用語を知らないが、このように:https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html – Thufir

答えて

1

アプリケーションプラグインを使用する場合、アプリケーションとして使用されるすべてのライブラリ(独自のjarライブラリまたは推移的ライブラリ)は、アプリケーションとしてパッケージ化されるとlibsフォルダに置かれます。これらのlibは、アプリケーションを起動するときにクラスパスとしてシェルスクリプトまたはバッチスクリプトで参照されます。

fatleをgradleで作成する最も簡単な方法は、プラグインポータルで利用可能なシャドウプラグインを使用することです。詳細については、https://plugins.gradle.org/plugin/com.github.johnrengelman.plugin-shadowを参照してください。

+0

私は間違った質問をする必要があります。 NON fat jarとlibsを作成するにはどうすればよいですか? – Thufir

+0

私の答えが更新されました。助けてくれる希望 –

関連する問題