gradle idea 整合WEB开发

之前一直在用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 

参考: http://bloodwolf-china.iteye.com/blog/1779681

下面就是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值