[[Gradle]] > Gradleでjarの取得だけを行う
* Gradleでjarの取得だけを行う [#f727580b]
#setlinebreak(on)

基幹系のプロジェクト等で、ビルドにGradleは使えない。けど、個別に jar のダウンロードなんてやってられない。という時の為に。
※とりあえず自分の端末でだけ Gradle が動作すれば良い。

** Gradle のインストール [#j12ab8e5]
#html(<div style="padding-left:20px;">)
[[Gradle]] を参照してインストール
#html(</div>)

** 適当なフォルダの作成 [#o009d8ce]
#myterm(){{
mkdir get_jar_gradle
}}

** build.gradle の作成 [#r3d3e698]
#html(<div style="padding-left:20px;">)

作成したフォルダ配下に build.gradle を作成する。
#mycode(){{
apply plugin: 'java'

sourceCompatibility = 1.7
version = '1.0'

repositories {
    mavenCentral()
}

// ここに依存ライブラリの記述を行う
dependencies {
    compile "org.glassfish.jersey.containers:jersey-container-servlet:latest.release"   // jersey の例
    compile "org.glassfish.jersey.media:jersey-media-json-jackson:latest.release"     // jackson の例
    compile "mysql:mysql-connector-java:latest.release"                                            // MySQLコネクタの例
}

// ファイルのコピー先(カレントからの相対PATH)
def dependJarCopyTo = 'jar'

// コピー先にあるファイルをいったん削除
task delDependJar << {
	delete dependJarCopyTo
}

// 依存するライブラリjarを指定したディレクトリにコピーする
task getDependJar(dependsOn: delDependJar) {
	doLast {
		configurations.compile.each {
			def fromJarFile = it.absolutePath
			copy {
				from fromJarFile
				into dependJarCopyTo
			}
		}
		println "----- 以下のjarファイルを取得しました -----"
		FileCollection copyFiles = files { file(dependJarCopyTo).listFiles() }
		copyFiles.each {File file -> println file.name}
	} 
} 
}}
#html(</div>)

** 実行(jarの取得) [#r3d3e698]
#html(<div style="padding-left:20px;">)
#myterm(){{
cd get_jar_gradle
gradle getDependJar
}}

これで dependJarCopyTo で示したフォルダにjarファイルが取得される

#html(</div>)


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS