zoukankan      html  css  js  c++  java
  • Gradle学习(四) web工程构建

    Gradle为应用开发提供了两个相关的插件:war plugin以及jetty plugin
    war plugin继承了java plugin为你的工程构建war包,jetty pugin继承了war plugin可以让的工程构建在嵌入式容器jetty中
     
    构建War文件
    首先在你的build.gradle中添加如下一行
    apply plugin: 'war'
    由于war plugin继承了java plugin,所有java plugin也会被默认的加入配置文件中
    运行gradle build命令可以为你工程进行编译,测试以及打war包,Gradle会将你在工程src/main/webapp下的资源文件也一并打入war包中,你的编译代码和他们运行时的依赖同样会被打入jar包中
     
    运行web工程
    首先在你的build.gradle中添加如下一行
    apply plugin: 'jetty'
    由于jetty plugin继承了war plugin,所有war plugin也会被默认的加入配置文件中
    运行gradle jettyRun命令,你的web工程就会在Jetty容器中被运行,运行gradle jettyRunWar命令会构建war包,然后将构建好的war在jetty容器中运行
     
    在配置文件中加入下列命令可以设置Jetty的属性
    httpPort = 8080 //http访问端口 默认8080
    stopPort = 9451 //jetty监听来自admin请求的端口 默认无
    stopKey = 'foo' //停止jetty服务器默认键 默认无
     
    War Plugin
    War Plugin在继承Java plugin的继承上增加了打war文件的支持,它会将Java Plugin中的默认构建JAR文件的功能替换为为构建WAR文件。
    相比于Java Plugin,War Plugin增加了如下一个Task
    可以看到首先gradle回去处理对应的资源,然后对工程代码进行编译,最后进行打war包的操作,命令执行成功之后我们可以看见在build.gradle的同级目录下会出现一个名为build的文件夹
     

    点进去之后可以发现如下的目录结构

    classes文件夹下存放的是编译后的字节码文件,在libs目录下存放的就是打出的war包了,在resources目录下存放的是工程的资源文件。
    假如你需要将你工程一些信息进行归档那么你可以使用gradle assemble命令,task assemble是依赖于task war的。
     
    如果你需要定制化打包信息,比如你的工程的classpath与gradle默认的不同那么你可以重写war task:
    war {
        from
     'src/rootContent' // adds a file-set to the root of the archive  default src/main/webapp
        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
        webXml = file( 'src/someWeb.xml')// copies a file to WEB-INF/web.xml
    }
    

      

        

  • 相关阅读:
    SPI Flash(W25Q16DV) 驱动
    SPI Flash(W25Q16DV) 基本操作
    SPI OLED 驱动
    dategrip破解
    mysql中find_in_set()函数的使用
    MYSQL中,CAST函数的使用规则
    关于Java对象作为参数传递是传值还是传引用的问题
    easyPOI导出excel报错
    ### Cause: java.lang.reflect.UndeclaredThrowableException
    用count(*)还是count(列名) || Mysql中的count()与sum()区别
  • 原文地址:https://www.cnblogs.com/getto/p/3764244.html
Copyright © 2011-2022 走看看