使用Gradle创建java web项目

什么是Gradle?  

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。

它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。

为什么用Gradle?

1.构建结构化

2.便于移植

3.多种方式管理依赖

4.Gradle 是第一个构建集成工具

安装Gradle

下载地址:

http://gradle.org/gradle-download/

注:Gradle不需要安装,解压后配置环境变量即可使用 

#Linux

GRADLE_HOME=Gradle目录

PATH=$PATH:$GRADLE_HOME/bin


#Windows

GRADLE_HOME=Gradle目录

Path 添加 %GRADLE_HOME%\bin

测试命令:

 gradle -v

输出如下:

 

 脚本构建Java web项目

我们使用build.gradle脚本文件构建项目

首先在项目文件夹下创建build.gradle脚本文件

在脚本中加入java插件

apply plugin: 'java'

 

然后运行项目目录下运行gradle build

完成后项目文件夹下如下:

然后在build.gradle中加入maven仓库

repositories { mavenCentral() }

添加依赖

这里声明了编译期所需依赖 commons-collections 和测试期所需依赖 junit。

dependencies { compile group: 'commons-collections', name: 'commons-collections', version: '3.2' testCompile group: 'junit', name: 'junit', version: '4.+' }

至于这些依赖的信息如何查询,可以通过下面这个网站查询

http://www.mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test/1.4.2.RELEASE

由于要把项目导入到eclipse中,所以在build.gradle中加入以下插件

apply plugin: 'war' apply plugin: 'eclipse-wtp' apply plugin: 'eclipse'

 

 在build.gradle中加入中文编码任务:

tasks.withType(JavaCompile) { options.encoding = "UTF-8" }

在Gradle中java项目的目录如下

project +build +src/main/java +src/main/resources +src/test/java +src/test/resources

Gradle 默认会从 src/main/java 搜寻打包源码,在 src/test/java 下搜寻测试源码。并且 src/main/resources 下的所有文件按都会被打包,所有 src/test/resources 下的文件 都会被添加到类路径用以执行测试。所有文件都输出到 build 下,打包的文件输出到 build/libs 下。

在java web项目中还要在src/main下创建webapp文件夹

由于Gradle不会自动创建,所以我们用任务的方式进行创建

在build.gradle中加入如下任务:

task createJavaProject << { sourceSets*.java.srcDirs*.each{ it.mkdirs() } sourceSets*.resources.srcDirs*.each{ it.mkdirs()} } task createWebProject(dependsOn: 'createJavaProject') << { def webAppDir = file("$webAppDirName") webAppDir.mkdirs() }

然后执行gradle createWebProject eclipse

这样就完成了一个java web项目的创建,并且可以导入到eclipse中。

 注:如果想要加入其它的依赖jar文件,需要在build.gradle中加入依赖信息,并且依次执行gradle build 和gradle eclipse. 

 参考:http://unmi.cc/initialize-gradle-project-layout/

          http://wiki.jikexueyuan.com/project/gradle/java-quickstart.html


__EOF__

本文作者Jun10ng
本文链接https://www.cnblogs.com/wangzun/p/6169819.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Johnson_wang  阅读(1098)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示