Gradle构建Scala项目


group 'com.gdj'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'scala'
apply plugin: 'application' //可选(可自动生成shell启动脚本)

//这里是关键(把java与scala的源代码目录全映射到scala上,
// 这样gradle compileScala时就能同时编译java与scala的源代码)
sourceSets {
    main {
        scala {
            srcDirs = ['src/main/scala', 'src/main/java']
        }
        java {
            srcDirs = []
        }
    }

    test {
        scala {
            srcDirs = ['src/test/scala', 'src/test/java']
        }
        java {
            srcDirs = []
        }
    }
}

//可选(项目初始化时,可用gradle cDirs生成scala及java的src目录)
//task "createDirs" {
//    sourceSets*.scala.srcDirs*.each { it.mkdirs() }
//    sourceSets*.java.srcDirs*.each { it.mkdirs() }
//    sourceSets*.resources.srcDirs*.each { it.mkdirs() }
//}

repositories {
    mavenLocal()
    maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
    mavenCentral()
}

dependencies {
    compile "org.scala-lang:scala-library:2.11.7"
    compile "org.scala-lang:scala-compiler:2.11.7"
    compile "org.scala-lang:scala-reflect:2.11.7"
    testCompile "junit:junit:4.11"
}

//可选,如果想让生成的jar可直接运行,建议加上
jar {
    manifest {
        attributes 'Main-Class': 'AppDemo'
    }
}

创建初始目录:gradle cDirs (注:这是缩写方式,与gradle createDirs完全相同)

编译: gradle compileScala

生成jar包: gradle jar

生成带启动脚本的可运行包: gradle installDist

Gradle构建Scala项目

发表评论

电子邮件地址不会被公开。 必填项已用*标注

滚动到顶部