把项目从Maven迁移到Gradle

简介: 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/49098757 把项目从Maven迁移到Gradle作者:chszs,版权所有,未经同意,不得转载。
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/49098757

把项目从Maven迁移到Gradle

作者:chszs,版权所有,未经同意,不得转载。博主主页:http://blog.csdn.net/chszs

在过去几年中,Maven已成为Java及Java EE项目事实上的构建工具,没有之一。而最近两年,Gradle获得越来越多的人使用,分走了不少Maven的用户。本文就是讲述怎样把Java EE项目从Maven迁移到Grale。

Grale是一个自动化的构建工具,类似于Ant或Maven,与这两个构建工具不同的是,Gradle引入了基于Groovy语言的DSL语法来代替XML配置,因此它的配置文件是一个Groovy文件。

安装Gradle有几种方法,最佳的方法是使用sdkman工具来安装。而要安装sdkman工具,只需简单的运行:

# curl -s get.sdkman.io | bash
Thanks for using...                                                          


     SSSSSSSSSSSSSSS DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK                  
   SS:::::::::::::::SD::::::::::::DDD    K:::::::K    K:::::K                  
  S:::::SSSSSS::::::SD:::::::::::::::DD  K:::::::K    K:::::K                  
  S:::::S     SSSSSSSDDD:::::DDDDD:::::D K:::::::K   K::::::K                  
  S:::::S              D:::::D    D:::::DKK::::::K  K:::::KKK                  
  S:::::S              D:::::D     D:::::D K:::::K K:::::K                     
   S::::SSSS           D:::::D     D:::::D K::::::K:::::K                      
    SS::::::SSSSS      D:::::D     D:::::D K:::::::::::K                       
      SSS::::::::SS    D:::::D     D:::::D K:::::::::::K                       
         SSSSSS::::S   D:::::D     D:::::D K::::::K:::::K                      
              S:::::S  D:::::D     D:::::D K:::::K K:::::K                     
              S:::::S  D:::::D    D:::::DKK::::::K  K:::::KKK                  
  SSSSSSS     S:::::SDDD:::::DDDDD:::::D K:::::::K   K::::::K                  
  S::::::SSSSSS:::::SD:::::::::::::::DD  K:::::::K    K:::::K                  
  S:::::::::::::::SS D::::::::::::DDD    K:::::::K    K:::::K                  
   SSSSSSSSSSSSSSS   DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK                  


                      mmmmmmm    mmmmmmm     aaaaaaaaaaaaa  nnnn  nnnnnnnn     
                    mm:::::::m  m:::::::mm   a::::::::::::a n:::nn::::::::nn   
                   m::::::::::mm::::::::::m  aaaaaaaaa:::::an::::::::::::::nn  
                   m::::::::::::::::::::::m           a::::ann:::::::::::::::n 
                   m:::::mmm::::::mmm:::::m    aaaaaaa:::::a  n:::::nnnn:::::n 
                   m::::m   m::::m   m::::m  aa::::::::::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::m a::::aaaa::::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::ma:::::aaaa::::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::m a::::::::::aa:::a n::::n    n::::n 
                   mmmmmm   mmmmmm   mmmmmm  aaaaaaaaaa  aaaa nnnnnn    nnnnnn 


                                                 Now attempting installation...

Looking for a previous installation of SDKMAN...
Looking for unzip...
Not found.
================================================================================================
 Please install unzip on your system using your favourite package manager.

 Restart after installing unzip.
================================================================================================

说明需要unzip工具,执行命令安装它:

# apt-get install unzip

再次安装sdkman

# curl -s get.sdkman.io | bash

Thanks for using...                                                          


     SSSSSSSSSSSSSSS DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK                  
   SS:::::::::::::::SD::::::::::::DDD    K:::::::K    K:::::K                  
  S:::::SSSSSS::::::SD:::::::::::::::DD  K:::::::K    K:::::K                  
  S:::::S     SSSSSSSDDD:::::DDDDD:::::D K:::::::K   K::::::K                  
  S:::::S              D:::::D    D:::::DKK::::::K  K:::::KKK                  
  S:::::S              D:::::D     D:::::D K:::::K K:::::K                     
   S::::SSSS           D:::::D     D:::::D K::::::K:::::K                      
    SS::::::SSSSS      D:::::D     D:::::D K:::::::::::K                       
      SSS::::::::SS    D:::::D     D:::::D K:::::::::::K                       
         SSSSSS::::S   D:::::D     D:::::D K::::::K:::::K                      
              S:::::S  D:::::D     D:::::D K:::::K K:::::K                     
              S:::::S  D:::::D    D:::::DKK::::::K  K:::::KKK                  
  SSSSSSS     S:::::SDDD:::::DDDDD:::::D K:::::::K   K::::::K                  
  S::::::SSSSSS:::::SD:::::::::::::::DD  K:::::::K    K:::::K                  
  S:::::::::::::::SS D::::::::::::DDD    K:::::::K    K:::::K                  
   SSSSSSSSSSSSSSS   DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK                  


                      mmmmmmm    mmmmmmm     aaaaaaaaaaaaa  nnnn  nnnnnnnn     
                    mm:::::::m  m:::::::mm   a::::::::::::a n:::nn::::::::nn   
                   m::::::::::mm::::::::::m  aaaaaaaaa:::::an::::::::::::::nn  
                   m::::::::::::::::::::::m           a::::ann:::::::::::::::n 
                   m:::::mmm::::::mmm:::::m    aaaaaaa:::::a  n:::::nnnn:::::n 
                   m::::m   m::::m   m::::m  aa::::::::::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::m a::::aaaa::::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::ma:::::aaaa::::::a  n::::n    n::::n 
                   m::::m   m::::m   m::::m a::::::::::aa:::a n::::n    n::::n 
                   mmmmmm   mmmmmm   mmmmmm  aaaaaaaaaa  aaaa nnnnnn    nnnnnn 


                                                 Now attempting installation...

Looking for a previous installation of SDKMAN...
Looking for unzip...
Looking for curl...
Looking for sed...
Installing SDKMAN scripts...
Create distribution directories...
Create candidate directories...
Created for asciidoctorj: /root/.sdkman/asciidoctorj
Created for crash: /root/.sdkman/crash
Created for gaiden: /root/.sdkman/gaiden
Created for glide: /root/.sdkman/glide
Created for gradle: /root/.sdkman/gradle
Created for grails: /root/.sdkman/grails
Created for griffon: /root/.sdkman/griffon
Created for groovy: /root/.sdkman/groovy
Created for groovyserv: /root/.sdkman/groovyserv
Created for jbake: /root/.sdkman/jbake
Created for jbossforge: /root/.sdkman/jbossforge
Created for lazybones: /root/.sdkman/lazybones
Created for springboot: /root/.sdkman/springboot
Prime the config file...
Download script archive...
Extract script archive...
Install scripts...
Attempt update of bash profiles...
Updated existing /root/.profile
Updated existing /root/.bashrc
Attempt update of zsh profiles...
Created and initialised /root/.zshrc



All done!


Please open a new terminal, or run the following in the existing one:

    source "/root/.sdkman/bin/sdkman-init.sh"

Then issue the following command:

    sdk help

Enjoy!!!

安装完成后需要初始化sdkman:

# source "$HOME/.sdkman/bin/sdkman-init.sh"

一旦sdkman可用,那么安装Gradle就极其简单了:

# sdk install gradle
==== BROADCAST =================================================================
* 30/09/15: Gradle 2.8-rc-1 released on SDKMAN! #gradle
* 30/09/15: SDKMAN! 3.0.5 released. Fixes issue #363. http://bit.ly/1KRSKey
* 25/09/15: Grails 3.0.8 released on SDKMAN! #grailsfw
================================================================================

Downloading: gradle 2.7

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0   354    0     0     28      0 --:--:--  0:00:12 --:--:--    83
100 42.7M  100 42.7M    0     0  87103      0  0:08:34  0:08:34 --:--:--  113k

Installing: gradle 2.7
Done installing!

Do you want gradle 2.7 to be set as default? (Y/n): y

Setting gradle 2.7 as default.

下面可以开始创建构建脚本。首先要做的是创建一个名为settings.gradle的文件,设置项目名。

rootProject.name = 'my-javaee'

此文件适用于多模块的项目。

下面需要创建一个名为build.gradle的配置文件,它负责管理所有的构建过程。

apply plugin: 'war'
group = 'org.superbiz'
version = '1.0-SNAPSHOT'
description = "My JavaEE project"
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
    mavenCentral()        
}
dependencies {
    providedCompile group: 'javax', name: 'javaee-api', version:'7.0'
}

注意,第一行指示构建的是一个Web项目(WAR包)。接着是项目的属性,如项目组group、版本version、描述description、Java编译器的版本、软件仓库。只有最后一行的依赖关系是必须的,它提供了构建的处理范围。

要注意,如果使用的是war插件,那么providedCompile仅有一个是有效的。如果使用的是像java这样的插件,那么需要自己实现这个函数。

可以看出,Gradle的配置文件更加精炼,没有冗余的信息。想深入Gradle就继续吧!

目录
相关文章
|
1月前
|
安全 Java 项目管理
云效常见问题之maven私有仓库迁移如何解决
云效(CloudEfficiency)是阿里云提供的一套软件研发效能平台,旨在通过工程效能、项目管理、质量保障等工具与服务,帮助企业提高软件研发的效率和质量。本合集是云效使用中可能遇到的一些常见问题及其答案的汇总。
37 0
|
1月前
|
Java Maven
手把手教你搭建Maven项目
手把手教你搭建Maven项目
31 0
|
2月前
|
Java Maven
java修改当前项目的maven仓库地址为国内
修改当前项目的maven仓库地址为国内
|
29天前
|
Java Maven 开发工具
maven导入项目出现Unable to import maven project: See logs for details
maven导入项目出现Unable to import maven project: See logs for details
11 0
maven导入项目出现Unable to import maven project: See logs for details
|
28天前
|
Java Maven
maven项目导出可执行jar
maven项目导出可执行jar
28 0
|
29天前
|
Java Maven
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
14 0
|
1月前
|
Java 测试技术 API
云效流水线构建gradle项目失败提示gradle版本过低如何解决
云效(CloudEfficiency)是阿里云提供的一套软件研发效能平台,旨在通过工程效能、项目管理、质量保障等工具与服务,帮助企业提高软件研发的效率和质量。本合集是云效使用中可能遇到的一些常见问题及其答案的汇总。
32 0
|
1月前
|
JavaScript Java 关系型数据库
实例!使用Idea创建SSM框架的Maven项目
实例!使用Idea创建SSM框架的Maven项目
38 0
|
3月前
|
Dubbo Java 应用服务中间件
微服务框架(十)Maven Archetype制作Dubbo项目原型
  此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。   本文为Maven Archetype的制作及使用,使用archetype插件制作Dubbo项目原型
|
3月前
|
前端开发 Java Maven
IEAD MAVEN创建springboot 项目
IEAD MAVEN创建springboot 项目
29 0

热门文章

最新文章

推荐镜像

更多