Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.
1. eclipse 에서 프로젝트명에서 우측 마우스 Gradle->Refresh Dependencies를 누르면 관련 jar파일을 다운로드한다.
2. eclipse 에서 프로젝트명에서 우측 마우스 Run As -> Gradle Build-> Gradle Tasks에서 "jar"를 입력하고 실행하면
build/libs밑에 jar파일이 생성된다.
---------------------------------build.gradle파일-------------------------
group 'com.gooper.icbms.sda'
version '2.0'
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'eclipse-wtp'
apply plugin: 'maven'
apply plugin: 'application'
//apply plugin: 'com.github.johnrengelman.shadow'
compileJava.options.encoding = 'UTF-8'
sourceCompatibility = 1.7
def nexusUrl = 'http://www.gooper.com'
repositories {
// mavenCentral()
maven { url "http://mesir.googlecode.com/svn/trunk/mavenrepo" }
maven { url "https://code.lds.org/nexus/content/groups/main-repo" }
maven { url "${nexusUrl}/content/groups/gooper-public/" }
jcenter()
}
task writeNewPom << {
pom {
project {
inceptionYear '2014'
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
}
}.writeTo("pom.xml")
}
configurations.all {
// check for updates every build
resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
}
configurations {
provided
provided.extendsFrom(compile)
}
sourceSets {
main.compileClasspath += configurations.provided
test.compileClasspath += configurations.provided
test.runtimeClasspath += configurations.provided
}
eclipse.classpath.plusConfigurations += [ configurations.provided ]
dependencies {
// jena
/*
compile group: 'org.apache.jena', name: 'jena-arq', version:'3.0.1'
compile group: 'org.apache.jena', name: 'jena-base', version:'3.0.1'
compile group: 'org.apache.jena', name: 'jena-core', version:'3.0.1'
compile group: 'org.apache.jena', name: 'jena-iri', version:'3.0.1'
compile group: 'org.apache.jena', name: 'jena-shaded-guava', version:'3.0.1'
compile group: 'org.apache.jena', name: 'jena-tdb', version:'3.0.1'
compile group: 'org.apache.jena', name: 'jena-fuseki', version:'2.3.1'
// elephas
compile group: 'org.apache.jena', name: 'jena-elephas-common', version:'3.0.1'
compile group: 'org.apache.jena', name: 'jena-elephas-io', version:'3.0.1'
compile group: 'org.apache.jena', name: 'jena-elephas-mapreduce', version:'3.0.1'
*/
compile group: 'org.apache.jena', name: 'jena-arq', version:'3.1.0'
compile group: 'org.apache.jena', name: 'jena-base', version:'3.1.0'
compile group: 'org.apache.jena', name: 'jena-core', version:'3.1.0'
compile group: 'org.apache.jena', name: 'jena-iri', version:'3.1.0'
compile group: 'org.apache.jena', name: 'jena-shaded-guava', version:'3.1.0'
compile group: 'org.apache.jena', name: 'jena-tdb', version:'3.1.0'
compile group: 'org.apache.jena', name: 'jena-cmds', version:'3.1.0'
compile group: 'org.apache.jena', name: 'jena-fuseki', version:'2.3.1'
// elephas
compile group: 'org.apache.jena', name: 'jena-elephas-common', version:'3.1.0'
compile group: 'org.apache.jena', name: 'jena-elephas-io', version:'3.1.0'
compile group: 'org.apache.jena', name: 'jena-elephas-mapreduce', version:'3.1.0'
compile group: 'opensymphony', name: 'quartz', version:'1.6.3'
compile group: 'com.ibm.icu', name: 'icu4j', version:'51.2'
compile group: 'javax.transaction', name: 'jta', version:'1.1'
//springframework
provided(group: 'org.springframework', name: 'spring-context', version:'4.0.5.RELEASE') { exclude(module: 'commons-logging') }
provided group: 'org.springframework', name: 'spring-web', version:'4.0.5.RELEASE'
provided group: 'org.springframework', name: 'spring-webmvc', version:'4.0.5.RELEASE'
provided group: 'org.springframework', name: 'spring-aop', version:'4.0.5.RELEASE'
provided group: 'org.springframework', name: 'spring-beans', version:'4.0.5.RELEASE'
provided group: 'org.springframework', name: 'spring-context-support', version:'4.0.5.RELEASE'
provided group: 'org.springframework', name: 'spring-core', version:'4.0.5.RELEASE'
provided group: 'org.springframework', name: 'spring-jdbc', version:'4.0.5.RELEASE'
// aspect
compile (group: 'org.aspectj', name: 'aspectjrt', version:'1.7.3') {exclude (group:"org.slf4j", module:"slf4j-api")}
compile group: 'org.aspectj', name: 'aspectjweaver', version:'1.7.3'
compile group: 'org.aspectj', name: 'aspectjtools', version:'1.7.3'
/*
//compile group: 'org.slf4j', name: 'slf4j-api', version:'1.6.6'
//compile group: 'org.slf4j', name: 'jcl-over-slf4j', version:'1.6.6'
//compile group: 'org.slf4j', name: 'slf4j-log4j12', version:'1.6.6'
*/
//json
compile "org.codehaus.jackson:jackson-mapper-asl:1.1.1"
compile "org.codehaus.jackson:jackson-core-asl:1.1.1"
compile "com.googlecode.json-simple:json-simple:1.1.1"
//gson
compile group: 'com.google.code.gson', name: 'gson', version:'2.4'
// common/commons
compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
compile group: 'commons-dbcp', name: 'commons-dbcp', version:'1.4'
compile group: 'commons-io', name: 'commons-io', version:'2.0.1'
compile group: 'commons-fileupload', name: 'commons-fileupload', version:'1.2.2'
compile group: 'commons-codec', name: 'commons-codec', version:'1.10'
//compile group: 'org.apache.commons', name: 'commons-io', version:'1.3.2'
compile(group: 'log4j', name: 'log4j', version:'1.2.15') {
exclude(module: 'mail')
exclude(module: 'jms')
exclude(module: 'jmxtools')
exclude(module: 'jmxri')
}
// mongodb
compile group: 'org.mongodb', name: 'mongo-java-driver', version:'2.10.1'
// mariadb
compile group: 'org.mariadb.jdbc', name: 'mariadb-java-client', version:'1.3.3'
//mybatis
compile group: 'org.mybatis', name: 'mybatis', version:'3.2.2'
compile group: 'org.mybatis', name: 'mybatis-spring', version:'1.2.0'
// kafka
//compile (group: 'org.apache.kafka', name: 'kafka_2.11', version:'0.9.0.1') { exclude( group: 'org.scala-lang', module: 'scala-library') }
compile group: 'org.apache.kafka', name: 'kafka_2.11', version:'0.9.0.1'
// avro
compile group: 'org.apache.avro', name: 'avro', version:'1.7.7'
//compile group: 'org.apache.avro', name: 'avro-tools', version:'1.7.7'
// spark
provided (group: 'org.apache.spark', name: 'spark-streaming-kafka_2.11', version:'1.6.2') {exclude (group: 'org.scala-lang', module: 'scala-library')}
}
/*
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "com.github.jengelman.gradle.plugins:shadow:1.2.3"
}
}
shadowJar {
mergeServiceFiles()
transform(ManifestResourceTransfomer) {
mainClass = 'org.apache.jena.fuseki.cmd.FusekiCmd'
}
transform(ServicesResourceTransformer)
transform(ApacheLicenseResourceTransformer)
transform(ApacheNoticeResourceTransformer)
}
*/
jar {
from {
configurations.compile.collect {it.isDirectory() ? it : zipTree(it)}
}
manifest {
attributes("Implementation-Title": "SDA-COMMON", "Implementation-Version": version)
}
}
uploadArchives {
repositories {
mavenDeployer {
repository(url: "${nexusUrl}/content/repositories/gooper-releases/"){
authentication(userName: nexusUsername, password: nexusPassword)
}
snapshotRepository(url: "${nexusUrl}/content/repositories/gooper-snapshots") {
authentication(userName: nexusUsername, password: nexusPassword)
}
}
}
}