怎么在Gradle中构建一个多模块项目

  介绍

这篇文章给大家介绍怎么在Gradle中构建一个多模块项目,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

我们首先创建一个多项目构建:

mkdir  cmdGradleProj ,, cd  cmdGradleProj   gradle  init

这时候

D: \ cmdGradleProj>目录下执行:<代码>树/f

的项目结构如下:

│,build.gradle   │,gradlew   │,gradlew.bat   │,settings.gradle   │,   ├─.gradle   │,└─3.0   │,,,└─taskArtifacts   │,,,,,,cache.properties   │,,,,,,cache.properties.lock   │,,,,,,fileHashes.bin   │,,,,,,fileSnapshots.bin   │,,,,,,fileSnapshotsToTreeSnapshotsIndex.bin   │,,,,,,taskArtifacts.bin   │,,,,,,,   └─gradle   └才能─包装   ,,,,gradle-wrapper.jar   ,,,,gradle-wrapper。

然属性后,创建多个模块,这里以核心和web模块为例,先创建四个目录(测试文件夹用于编写测试类):

mkdir 主要核心\ src \ \ java   mkdir 主要核心\ src \ \测试   mkdir 主要web \ src \ \ java   mkdir 主要web \ src \ \

资源,核心模块:包含一些通用的组件,它们能够被程序的其他模块使用。例子中,只包含一个类:MessageService类返回“Hello World ! & # 39;字符串。该模块有两个依赖:Junit 4.11与commons-lang3。

web模块:模块包含HelloWorld类,是程序的开端,它从MessageService对象中获取信息,并将接收到的信息写入一个日志文件中。该模块拥有两个依赖:它需要核心模块,还使用Log4j作为日志。

现在,我们已经创建了所需的目录,下一步是配置Gradle构建,先对包含在多项目构建中的项目进行配置。

我们可以通过以下步骤,对包含在多项目构建中的项目进行配置:

<强> 1。在根项目的根目录下创建设置。gradle文件,一个多项目gradle构建必须含有这个文件,因为它指明了那些包含在多项目构建中的项目。

<强> 2。确保网络和核心项目包含在我们的多项目构建中。

我们的设置。gradle文件如下:

包括& # 39;核心# 39;
包括& # 39;网络# 39;
简写:包括& # 39;核心# 39;& # 39;网络# 39;

修改根目录下的构建。gradle:

//,所有子项目的通用配置   subprojects  {   apply 才能;插件:& # 39;java # 39;//才能,apply 插件:,& # 39;eclipse # 39;   apply 才能;插件:& # 39;想法# 39;      时间=version 才能;& # 39;1.0 & # 39;//才能,JVM 版本号要求   sourceCompatibility 才能=1.8   targetCompatibility 才能=1.8//才能,java编译的时候缺省状态下会因为中文字符而失败   ,,(compileJava compileTestJava, javadoc) * .options * .encoding =, & # 39; utf - 8 # 39;//才能定义版本号   ext {才能   ,,,springVersion =, & # 39; 4.3.3.RELEASE& # 39;   ,,,hibernateVersion=& # 39; 5.2.2.Final& # 39;   ,,}      repositories {才能   ,,,mavenCentral ()   ,,}      jar {才能   ,,,manifest  {   ,,,,,属性(“Implementation-Title":“Gradle")   ,,,}   ,,}      configurations {才能   ,,,//,所有需要忽略的包定义在此   ,,,所有* .exclude 组:,& # 39;commons-httpclient& # 39;   ,,,所有* .exclude 组:,& # 39;通用日志# 39;   ,,,所有* .exclude 组:,& # 39;commons-beanutils& # 39;,,模块:,& # 39;commons-beanutils& # 39;   ,,}      dependencies {才能   ,,,//,通用依赖   ,,,编译(   ,,,,,,,“org.springframework: spring上下文:springVersion"美元;   ,,,,,,,“org.springframework: spring-orm: springVersion"美元;   ,,,,,,,“org.springframework: spring-tx: springVersion"美元;   ,,,,,,,“org.springframework.data: spring-data-jpa: 1.10.3.RELEASE"   ,,,,,,,“org.hibernate: hibernate-entitymanager: hibernateVersion"美元;   ,,,,,,,“c3p0: c3p0:0.9.1.2"   ,,,,,,,“mysql: mysql-connector-java: 6.0.4"   ,,,,,,,“org.slf4j: slf4j-nop: 1.7.21"   ,,,,,,,“commons-fileupload: commons-fileupload: 1.3.2"   ,,,,,,,“com.fasterxml.jackson.core: jackson-databind: 2.8.2"   ,,,)      ,,,//,依赖maven中不存在的jar   ,,,ext.jarTree =, fileTree (dir: & # 39;填词# 39;,,包括:,& # 39;* */* . jar # 39;)   ,,,ext.rootProjectLibs =, new 文件(rootProject.rootDir, & # 39;填词# 39;).getAbsolutePath ()   ,,,ext.jarTree  +=, fileTree (dir: rootProjectLibs,,包括:,& # 39;* */* . jar # 39;)      ,,,compile  jarTree      ,,,//,测试依赖   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在Gradle中构建一个多模块项目