博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
gradle idea 整合WEB开发
阅读量:6288 次
发布时间:2019-06-22

本文共 1533 字,大约阅读时间需要 5 分钟。

  hot3.png

之前一直在用maven来做为项目管理, 但是好多时候不够灵活, 最近看到gradle觉得不错, 所以将现在的一个项目转成gradle.

gradle的介绍我就不说了, 直接说说与idea的整合, 因为在这个过程中遇到了很多问题. 之前一个朋友使用IDEA+GRADLE也是用的命令行. 而且不能直接在idea里面启动tomcat来调试, 确实不方便

首先, IDEA使用12这个版本, 13就先别用了, gradle插件不稳定.

maven过来, 有一点会觉得不方便, 那就是profile配置, 因为在gradle里面是没有默认profile的, 但是它却有其它的一些方式, 网上也有很多方案, 有模仿profile的, 也有其它方式的. 这里我只介绍我使用的.

使用编译替换.

目录结构:

src

---main
------resources
---------dev
------------core.properties
---------work
------------core.properties
---------public
------------core.properties
------------spring.xml
------------controller.xml

build.gradle配置

//环境参数

env = System.getProperty("env") ?: "dev"
sourceSets {
    main {
        output.resourcesDir = "${buildDir}/classes/main"
        java {
            resources {
                srcDirs = ["src/main/resources/public", "src/main/resources/$env"]
            }
        }
    }
}

这里添加一个sourceSets配置,使用env变量来改变打包目录.

    打test环境包命令就是 gradle war -Denv=test 

参考:

下面就是IDEA的配置了, 

apply plugin: "idea"

idea{

    module{
    inheritOutputDirs = false
        outputDir = file("${buildDir}/classes/main")
    }
}

以上是配置idea插件, inheritOutputDirs 是否继承project的输出目录, outputDir修改当前module的输出目录. 这个改变, 可以在IDEA中的项目属性->module->paths里面看到改变. 这一步是为了后面做准备

现在的idea项目是没有web支持的, 不能直接与tomcat做整合.

项目属性->module, 右键module->add->web, 然后修改face web里面的web module deployment Descriptor, 使它指向web.xml. 修改Web Resource Directories为webapp目录. 如果不配置这一步, 会导致下一步中build时删除所有静态文件.

配置静态文件热部署.

进入artifacts, 点+ -> web application: exploded. 然后将output directory 为项目中的webapp目录. 

在下面的output root里面添加WEB-INF以及classes, lib, 可以在右边双击添加. 

现在项目就配置好了, 至于tomcat的添加, 与其它项目一样的使用. 

转载于:https://my.oschina.net/juqkai/blog/174220

你可能感兴趣的文章
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>