一:为什么我们使用gradle,而不使用maven
在Maven和Gradle使用上,碰到的问题是引入本地jar
包,Gradle一行代码就搞定了,而Maven相当麻烦,得一个个引入,没有找到批量引入的方法。
二:gradle的说明
1. settings.gradle
位于项目根目录,用于指示 Gradle 在构建应用时应将哪些模块包括在内。
rootProject.name = 'java-toolkit'
include 'toolkit-common'
include 'toolkit-config'
include 'toolkit-model'
2. build.gradle(parent)
在项目根目录下,通过allprojects{}
将配置应用至整个项目,再通过subprojects{}
将配置应用至整个子模块中。
// 所有项目通用配置
allprojects {
//引入 idea 插件
apply plugin: 'idea'
//指定项目版本号和group
version = '2.0'
group = 'gradle.multi'
idea.module.iml {
beforeMerged { module ->
module.dependencies.clear()
}
whenMerged { module ->
module.dependencies*.exported = true
}
}
}
// 所有子项目的通用配置
subprojects {
//引入java插件
apply plugin: 'java'
// JVM 版本号要求
sourceCompatibility = 1.6
// java编译的时候缺省状态下会因为中文字符而失败,所以这儿需要改为utf8
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
repositories {
//本地库,local repository(${user.home}/.m2/repository)
mavenLocal()
//Maven中心库(http://repo1.maven.org/maven2)
mavenCentral()
}
jar {
manifest.attributes provider: 'gradle'
}
configurations {
...
}
dependencies {
// 通用依赖
compile(
...
)
// 测试依赖
testCompile(
...
)
}
}
//如果module中名称有包含web的,则加入下面的内容
configure(subprojects.findAll {it.name.contains('web')}) {
apply plugin: 'war'
apply plugin: 'jetty'
war {
manifest {
attributes("Implementation-Title": "Gradle")
}
}
}
3. build.gradle(child module)
在子模块中,单独配置特有的构建需求。
// jar或者war的名字
archivesBaseName = 'module1'
dependencies {
compile (
...
)
}
4. gradle.properties
Gradle某些全局参数的配置或者可以自定义Gradle文件中用到的变量,在构建脚本中使用${xxx}
就可以访问该文件中定义的相关值。
env=dev
springVersion=4.3.16.RELEASE
servletApiVersion = 3.1.0
jacksonVersion=2.8.6
junitVersion=4.12
log4jVersion=2.10.0
hibernateCoreVersion=5.2.1.Final
hibernateEntityManagerVersion=5.2.1.Final
hibernateValidatorVersion=5.2.4.Final
hibernateJava8Version=5.2.1.Final
三:使用gradle创建java项目
加入在开发的时候nodejs已经安装完毕,gradle已经存在,jdk也已经有了,IDEA也安装就绪。
我们先在IDEA上创建项目
第一步:创建项目
打开IDEA.点击File->new Project,接着如下图操作。
由于是创建项目:当我们在1:当你用的是gradle,选择gradle方式创建,当如果你用的是maven项目可以选择maven.由于我们创建的是项目(project)所以2中Additional libraries and Framework,就不需要选择,我们只需要有gradle的基本配置信息就行。点击Next,继续下面的操作填写相应的内容。当进入到如下页面需要注意:
1:是启动后自动导入,
2:自动创建目录为空的内容根,这个一定要勾选,因为如果不够选的话,我们就不能看到java下的根目录。
3:每个数据源创建单独的模块集
4:使用本地的gradle,由于网络可能不稳定最好使用本地的gradle.
5:选择你的gradle的位置。
想了解更多请参照:idea导入项目参数释义
在Artifactid中录入:MyDemo
接着一直Next.一直到finish。点击New Project 这样就可以创建新的project.
第二步创建module
我们创建两个Model,其中一个用于操作后台任务(Java)如server,另外一个用于存放vue.js的页面如web。
1:创建server
选中项目MyDemo点击右键选择module.这里只需要勾选java就可以,在Artifactid中录入:server,然后一直Next创建完成
2:创建Web
选中项目MyDemo点击右键选择module.这里只需要勾选web就可以,在Artifactid中录入:web,然后一直Next创建完成
这样项目就基本创建完成。
如果想了解更详细可以参考如下地址:
使用Gradle整合SpringBoot+Vue.js-开发调试与打包