Gradle多项目构建并将项目导入到Eclipse

多项目构建的目录结构

在使用gradle进行多项目构建时,有“平面布局”和“分层布局”两种目录结构可以选择。

1. 平面布局

gradle相关配置文件*.gradle在与子项目模块(core,module…)平级的文件夹(config)中。

|_root
    |_core
    |_module
    |_h5
    |_service
    |_dao
    |_....
    |_config
        |_build.gradle
        |_settings.gradle

settings.gradle中使用includeFlat来指定子项目模块。

includeFlat 'core','module','h5','serive','dao'

2. 分层布局

gradle相关配置文件*.gradle在root目录下,与子项目(core,module…)平级。

|_root
    |_core
    |_module
    |_h5
    |_service
    |_dao
    |_....
    |_build.gradle
    |_settings.gradle

settings.gradle中使用include来指定子项目模块。

include 'core','module','h5','service','dao'

以下以“分层布局”结构来继续操作。

在根目录下创建gradle相关文件

1. 创建settings.gradle

文件名是settings.gradle,不是setting.gradle。不要省略’s’.

include (':ikt-core')
project(':ikt-core').projectDir = new File(settingsDir,'core')

include (':ikt-module')
project(':ikt-module').projectDir = new File(settingsDir,'module')

.....

这里将core,module文件夹做为ikt-core,ikt-module项目,如果文件夹名与项目名相同,可写为

include 'core','module'

2. 创建build.gradle

这里使用了templates插件,会生成项目默认的结构。buildscript语句块是设置templates插件的获取位置。

buildscript{
    repositories{
        maven{
            url 'http://dl.bintray.com/cjstehno/public'
        }
    }
    dependencies{
        classpath 'gradle-templates:gradle-templates:1.5'
    }
}

allprojects{
    group = 'cn.ikantalk'
    version = '0.1'
    apply plugin: 'templates'  
}

subprojects{
    apply plugin: 'java'
    apply plugin: 'eclipse'
    sourceCompatibility = 1.8
}
.....

创建项目

1. 使用模板插件创建项目目录

运行gradle命令列出全部tasks。

gradle tasks

在列出的Task中,将会使用createJavaProject和createWebappProject这两个task。

2. 使用插件创建java项目

在全部项目中,core,module等项目,只是普通的java项目,所以使用createJavaProject生成目录结构。

运行gradle命令

gradle createJavaProject

按系统提示输入项目名称(Project Name),此处输入:core,并回车。

继续按系统提示输入上级目录(project parent directory),group,version等,这里使用默认值,直接回车即可。

这样,项目根目录下就生成了core目录。

在core目录下可以看到生成的相应文件,在src文件夹下已生成相应的项目目录结构。

|_core
    |_src
        |_main
            |_java
            |_resources
        |_test
            |_java
            |_resources
    |_build.gradle
    |_gradle.properties
    |_LICENSE.txt

同理,在根目录下生成module,service,dao等目录。

3. 使用插件创建Web项目

h5是一个web项目,使用createWepappProject生成目录结构。

运行gradle命令

gradle createWepappProject

系统提示生成javaProject的提示类似。

因为是web项目,所以会多一个是否使用jetty的选项:use jetty plugin的提示?可根据需要选择y|n.

在生成h5目录后,在h5目录下可看到相应的目录结构

|_h5
    |_src
        |_main
            |_java
            |_resources
            |_webapp
                |_WEB-INF
                    |_web.xml
        |_test
            |_java
            |_resources
    |_build.gradle
    |_gradle.properties
    |_LICENSE.txt

注意createJavaProject与createWebappPorject生成的目录结构的不同。

将项目导入到Eclipse

1. 使用eclipse插件生成eclipse相关配置信息

进入core目录,运行gradle命令。

gradle eclipse

将会在core目录下生成eclipse需要的.settings,.classpath和.project文件,core项目将会被做为一个eclipse项目导入到eclipse中。

2. 使用eclipse的导入功能将项目导入

在eclipse中选择File->Import->Existing Projects into Workspace->Import Projects,浏览core项目目录,将项目导入到eclipse中。

PS:在导入时选择或新建一个working sets,方便项目归类。

你可能感兴趣的:(Java,maven&gradle)