Gradle方式构建Java多项目

0: 安装IDEA:Linux 上只需下载IDEA的包 并且将路径配置在PATH全局变量中。/etc/profile

export PATH=$PATH:/opt/Software/IDEA/idea-IU-141.1532.4/bin

接下来配置下载安装jdk并且配置java 环境变量

export PATH=$PATH:/usr/lib/java/bin
export JAVA_HOME=/usr/lib/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

1: Download tomcat latest package.

Configure tomcat environments:

> vi /etc/profile

export CATALINA_BASE=/opt/Software/tomcat
export CATALINA_HOME=/opt/Software/tomcat
export PATH=$PATH:$CATALINA_BASE/bin
export PATH=$PATH:$CATALINA_BASE/lib

> source /etc/profile

最后只要./idea.sh就能随处执行了

激活你的IDEA:

csdn
38599-79U0U-5OWWA-2V980-1B6VZ-HY1V0

1. 首先,安装Gradle。 简单的步骤:

Prerequired: Java SDK installed

1. Dowload Gradle from: http://gradle.org/downloads
2. Set gradle home environment variable: GRADLE_HOME. Pointing to the place where the gradle binaries is
3. Add %GRADLE_HOME%in; to your PATH environment variable string
4. Run gradle -v command to test your installation and configuration is correct
 
2. 其次,Git上下载安装一个Gradle 的Template插件。 步骤如下
http://www.cnblogs.com/ygshen/p/4321283.html
 
3. 最后规划我们的工程结果,在Java的项目中不存在.NET的Solution, Project,... 的概念。 只有Project在Project下面创建新的子Project的方式。这里我们说一下这个创建Project和子Project以及各个Project内部关于包的引用案例
 
a. 新建一个空文件夹 ABC
b. IDEA里面Import Project, 选择上面的空目录
c. IDEA根目录下添加新文件 build.gradle
d. IDEA根目录下面新建一个Moduel, Moduel类型选择gradle. 新的Moduel名字subproject1
e. cd 到这个Moduel所在的目录执行 gradle initjavaproject
f. 删除该目录下的build.gradle和LISCENSE文件
重复c-f建立其他的library 工程。 如果想创建一个webproject在第4部执 gradle initwebappproject
g: 将每个项目中的src/main/java目录作为root source directory
g: 在settings.gradle文件中include所有的主项目和子项目
include 'MainProject','subproject1','subproject2'

h. 后退到ABC目录执行gradle projects可以看到所有的subprojects会被列出来
Gradle方式构建Java多项目
4. 在根目录的build.gradle文件中管理所有的subproject信息
project(':WebProject'){
    apply plugin: 'application'

    // Where the main class come from, it is in a sub project
    mainClassName=''

    // Dependencies for current project
    dependencies{
        compile project(':subproject2')
        compile 'mysql:mysql-connector-java:5.1.21'
    }
}
project(':subproject1'){

}
project(':subproject2'){

}

// Defined all the sub-projects behavior. here they
subprojects{

    group=''
    version='1.0'
    apply plugin: 'java'
    sourceCompatibility='1.7'
    repositories{
        mavenCentral()
    }
    dependencies {
        testCompile 'junit:junit:4.11'
    }
}