2016年8月1日 星期一

下載jar檔、第三方jar檔 (Gradle 3)

※下載jar檔

apply plugin: 'java'
    
task xxx << {
    sourceSets*.java.srcDirs*.each{ it.mkdirs() }
    sourceSets*.resources.srcDirs*.each{ it.mkdirs() }
}
    
repositories {
    mavenCentral()
    
    jcenter {
        url "http://jcenter.bintray.com/"
    }
    
    mavenLocal()

    flatDir {
        dirs 'lib'
    }
    
    flatDir {
        dirs 'lib1', 'lib2'
    }
}
    
dependencies {
    compile group: 'org.springframework', name: 'spring-webmvc', version: '4.3.2.RELEASE'
    compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.1.Final'
}

※repositories 的部分在23.25~23.46 專門講這些,反正就是要寫一些地方讓它去找jar,不一定要像我寫這麼多,而且寫法也不只一種,參考官網的寫法

※dependencies的部分在Example 23.4. Module dependencies,寫法也是好幾種,最左邊有compile、runtime…等,在7.3. Dependency configurations有講,有四個合法值
.compile:編譯時需要jar
.runtime:預設的,執行時需要jar
.testCompile:測試、編譯時需要jar
.testRuntime:測試、執行時需要jar

※網路下載和maven一樣,如下:

※執行gradle clean build後,會在C:\Users\使用者名稱\.gradle\caches增加jar檔



※第三方jar檔

如果網路上找不到,例如自己寫的一定找不到,我一樣寫一個package叫ttt,然後class叫Test, 寫一支echo方法,印出Hello World,最後包成xxx.jar

隨便放在一個地方,假設我放在ooo資料夾裡,然後整個拿到gradle_test資料夾裡
gradle.build的dependencies修改如下(其他的都和上面一樣):
dependencies {
    compile files('ooo/xxx.jar')
}

※然後將上一篇的ZYX.App.java多增加一行new ttt.Test().echo();

※執行gradle clean build(因為有加new ttt.Test().echo(),所以如果將dependencies裡的compile files拿掉會build fail),files是Project裡的method

※執行java -cp ooo\xxx.jar;build\libs\gradle_test.jar ZYX.App,如下:


※以上是javaSE,如果要用web的,可以看第47章

沒有留言:

張貼留言