--- tags: 自動化工具 --- # maven vs. Gradlea | | Gradle | Maven | | -------- | -------- | -------- | | 主要配置 | 基於XML | 基於Groovy | | 配置核心 | .pom(Project Object Model) | build.gradle (我們要使用哪個第三方的庫,就在屬於module下的build.gradle中新增相應的依賴) | ### For Example - build.gradle ``` group 'org.elasticsearch' version = '7.3.0' /* 引用java plugin獲得編譯java專案相關的task */ apply plugin: 'java' /* 引用idea plugin獲得編譯java專案相關的task */ apply plugin: 'idea' sourceCompatibility = "1.8" targetCompatibility = "1.8" [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' /* 設定 maven repository server,可放在local或遠程服務器上 */ repositories { maven { url "http://maven.aliyun.com/nexus/content/groups/public/" } jcenter() } sourceSets { main { java { srcDir "src/main/java" } resources { srcDir "src/main/resources" srcDir "src/main/assemblies" srcDir "src/main/dic" include "**/*" } } } task initSourceFolders { sourceSets*.java.srcDirs*.each { it.mkdirs() } sourceSets*.resources.srcDirs*.each { it.mkdirs() } } configurations { wagon distJars { extendsFrom runtime exclude group: 'org.elasticsearch' exclude group: 'lucene-core' exclude group: 'org.apache.logging.log4j' exclude group: 'lucene-analyzers-common' exclude group: 'org.apache.commons' } } /* 宣告專案的相依函式庫 */ dependencies { compile 'com.huaban:jieba-analysis:1.0.2' compile 'org.elasticsearch:elasticsearch:7.3.0' compile 'org.apache.logging.log4j:log4j-api:2.7' compile 'org.apache.logging.log4j:log4j-core:2.7' testCompile 'junit:junit:4.12' } task pz(type: Zip, dependsOn: [':jar']) { into(".") { from configurations.distJars from 'build/libs' from 'build/resources/main/plugin.xml' from 'build/resources/main/plugin-descriptor.properties' } from('build/resources/main/') { include '**.dict' include '**.txt' into ('dic') } } ``` Reference:https://www.jianshu.com/p/6954613c13ef