메뉴 건너뛰기

Bigdata, Semantic IoT, Hadoop, NoSQL

Bigdata, 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)
            }
        }
    }
}
번호 제목 글쓴이 날짜 조회 수
15 pom.xml에서 build.gradle로 변환 총관리자 2015.09.14 201
14 centos에 sbt 0.13.5 설치 총관리자 2016.05.30 251
13 Eclipse 에서 bitbucket.org 연동 하기 file 총관리자 2017.06.08 278
12 git설명 한글판 총관리자 2015.12.09 358
11 Java 8에서 pom.xml에 JavaDoc 관련 태그가 설정되어 있으나 오류등으로 실패하면 나머지 Maven작업이 종료되는 문제 해결 방법 총관리자 2017.01.24 435
10 compile할때와 exclude할때 대상을 표현하는 명칭이 다르므로 주의할것 총관리자 2016.08.10 503
9 [SBT] assembly시 "[error] deduplicate: different file contents found in the following:"오류 발생시 조치사항 총관리자 2016.08.04 579
» spark, kafka, mariadb, jena, springframework등을 이용하여 공통모듈을 jar로 만들기 위한 build.gradle파일(참고용) 총관리자 2016.08.19 611
7 springframework를 이용한 war를 생성하는 build.gradle파일(참고용) 총관리자 2016.08.19 650
6 [SBT] SBT 사용법 정리(링크) 총관리자 2016.08.04 839
5 ubuntu에 maven 3.6.1설치 및 환경변수 설정 총관리자 2019.06.02 856
4 원격 리포지토리에서 최초 clone시 Permission denied (publickey). 오류발생시 조치사항 총관리자 2017.06.20 871
3 build.gradle을 pom.xml로 변환하는 방법 총관리자 2016.08.18 1150
2 [sbt] sbt-assembly를 이용하여 실행에 필요한 모든 j라이브러리를 포함한 fat jar파일 만들기 총관리자 2016.07.11 1738
1 .git폴더를 삭제하고 다시 git에 추가하고 서버에 반영하는 방법 총관리자 2017.06.19 4077

A personal place to organize information learned during the development of such Hadoop, Hive, Hbase, Semantic IoT, etc.
We are open to the required minutes. Please send inquiries to gooper@gooper.com.

위로