zoukankan      html  css  js  c++  java
  • Gradle学习之构建java与web项目

    一.使用Gradle的java插件构建Java项目

    1)Gradle插件包含了若干个接口定义和已有的任务项,语法结构:apply plugin:'插件名' ,此处我们定义插件

    apply plugin : 'java'

    2)Gradle希望我们的java项目需要遵循以下规范:

        src/main/java :放置java源文件
        src/test/java :放置测试文件,比如单元测试等
        src/main/resources: 此目录下的文件会被作为资源文件打入jar包
        src/test/resources: 放置提供给测试用的配置文件


    3) java插件包含了若干个构建项目的任务,最常用的就是build任务,当我们运行build任务时,Gradle会编译,运行我们的测试脚本(类)并生成jar文件在build/lib下

    4) 其他常用的任务:
        clean:删除已经构建的目录及其文件
        assemble:编译并生成Jar或者war文件,注意不会运行测试文件
        check:编译并测试代码

    二.外部依赖

    1)和maven类似,如果要在项目中添加所依赖的外部jar文件,我们必须要告诉Gradle在哪里找到它们
    语法:

     1 repositories {
     2     jcenter()
     3     mavenLocal() //maven本地仓库
     4     mavenCentral() //maven中心仓库
     5     /* 
     6         指定maven远程仓库地址
     7      */
     8     maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
     9     maven { url "http://repo.spring.io/snapshot" }
    10     maven { url "http://repo.spring.io/milestone" }
    11 }

    2)当指定好仓库地址时,我们可以添加依赖
    语法:

    dependencies{
      compile group:'类似于maven中的groupid',name:'类似于maven中的affactid',version:'版本号'
      compile 'group:name:version'
    }

    三.java多项目构建

     1)gradle也可以支持多项目构建,比如说如下项目:

      multiproject/
        api/
        services/webservice/
        shared/
        services/shared/
    2)此时我们要在settings.gradle里配置 依赖的模块:

    include "shared", "api", "services:webservice", "services:shared"


    3)比如说 shared模块要依赖api模块 我们可以在shared模块中的build.gradle文件中这样写:

    dependencies {
      compile project(':shared')
    }

    4)常见属性
    sourceCompatibility: 使用哪种JDK版本编译
    targetCompatibility : 生成class的Java版本

    四。构建web项目

    1)需要添加web插件:apply plugin:'war'
    2) war任务 主要用于将web应用程序打包成war
    3) 与maven规范一致:web的相关资源位于src/main/webapp下

    使用示例:

    war {
        from 'src/rootContent' // adds a file-set to the root of the archive
        webInf { from 'src/additionalWebInf' } // adds a file-set to the WEB-INF dir.
        classpath fileTree('additionalLibs') // adds a file-set to the WEB-INF/lib dir.
        classpath configurations.moreLibs // adds a configuration to the WEB-INF/lib dir.
        webXml = file('src/someWeb.xml') // copies a file to WEB-INF/web.xml
    }

    另外我们可以设置webAppDirName来指定我们web上下文路径

     

  • 相关阅读:
    阿诺尔德给5至15岁孩子出的数学题
    上手机器学习,从搞懂这十大经典算法开始
    海报模板
    测度论--长度是怎样炼成的[zz]
    柯西不是你
    搭建Web部署环境
    搭建jdk环境
    Win10远程桌面 出现 身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密Oracle修正 解决方法
    Web开发技术选型之Java与PHP
    从java到web前端再到php,一路走来的小总结
  • 原文地址:https://www.cnblogs.com/niechen/p/8270654.html
Copyright © 2011-2022 走看看