메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

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)
            }
        }
    }
}
번호 제목 날짜 조회 수
284 hadoop 어플리케이션을 사용하는 사용자 변경시 바꿔줘야 하는 부분 2016.09.23 960
283 format된 namenode를 다른 서버에서 다시 format했을때 오류내용 2016.09.22 340
282 journalnode노드 기동시 "should be an absolute path"가 발생하고 기동되지 않을 경우 확인사항 2016.09.22 807
281 다중 모듈 프로젝트 설정에 대한 설명 2016.09.21 245
280 AIX 7.1에 Hadoop설치(정리중#2) 2016.09.20 376
279 AIX 7.1에 Hadoop설치(정리중) 2016.09.12 978
278 No broker partitions consumed by consumer thread오류 발생시 확인/조치할 사항 2016.09.02 1029
277 [Mybatis]Spring과 연동하지 않고 Java+Mybatis 형태의 프로그램 샘플소스 2016.09.01 1020
276 초기 오류(java.lang.NoSuchMethodError)에 따른 후속 작업에서 오류(java.lang.NoClassDefFoundError)가 발생되는 상황(quartz에서 주기적으로 작업시) 2016.08.29 743
275 특정문자열이나 URI를 임의로 select 절에 지정하여 사용할때 사용하는 sparql 문장 2016.08.25 1009
274 로컬에 있는 jar파일을 지정하고 dependency로 가져오기 2016.08.19 832
273 jena jar파일실행시 org.apache.jena.tdb.TDB.init에서 java.lang.NullPointerException발생시 조치사항 2016.08.19 768
272 springframework를 이용한 war를 생성하는 build.gradle파일(참고용) 2016.08.19 806
271 spark submit용 jar파일을 만드는 sbt 용 build.sbt설정 파일(참고용) 2016.08.19 756
» spark, kafka, mariadb, jena, springframework등을 이용하여 공통모듈을 jar로 만들기 위한 build.gradle파일(참고용) 2016.08.19 949
269 kafka 0.9.0.1버젼의 producer와 kafka버젼이 0.10.0.1인 consumer가 서로 대화하는 모습 2016.08.18 531
268 build.gradle을 pom.xml로 변환하는 방법 2016.08.18 1763
267 Jena는 기본적으로 multi thread환경을 지원하지 않는다. 2016.08.16 655
266 down된 broker로 메세지를 전송하려는 경우의 오류 내용및 조치사항 2016.08.12 411
265 여러가지 방법으로 특정 jar파일을 exclude하지 못하는 경우 해당 jar파일을 제외시키는 방법 2016.08.11 301
위로