文档章节

gradle idea 整合WEB开发

juqkai
 juqkai
发布于 2013/11/05 11:24
字数 554
阅读 10612
收藏 10

之前一直在用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的添加, 与其它项目一样的使用. 

© 著作权归作者所有

juqkai
粉丝 2
博文 5
码字总数 2574
作品 0
成都
高级程序员
私信 提问
IntelliJ IDEA 2016.2.2 发布

IntelliJ IDEA 2016.2.2 发布了。IntelliJ IDEA被认为是当前 Java 开发效率最快的 IDE 工具。它整合了开发过程中实用的众多功能,几乎可以不用鼠标可以方便的完成你要做的任何事情,最大程度...

淡漠悠然
2016/08/19
4.9K
17
使用IntelliJ IDEA,gradle开发Java web应用步骤

使用IntelliJ IDEA,gradle开发Java web应用步骤 最近 正在学习gradle构建工具的使用,看了一堆的文档,有点一知半解,索性动作实践一把,在以后的自己的项目中尝试使用看看。目前手头用的是...

Tek_Eternal
2015/03/22
44.7K
10
Demo Show | 蚂蚁金服 mPaaS IDEA 插件实践

前言 本文将结合上周在 JetBrains 开发者大会分享的《mPaaS IDEA 插件实践》,深入展开 mPaaS 在 IDEA 插件开发之路上踩过的坑和沉淀的思考,希望能够带来一些参考性: mPaaS 冷启动过程如何...

josephjin
2018/12/18
0
0
IntelliJ IDEA 发布13版本——创造java奇迹

IntelliJ IDEA被公认为业界最好的Java开发平台。此次发布的了13版本,更是集合了与Java EE、Android、Spring、Scala和Gradle最新合作与支持。 Java EE 7 IntelliJ IDEA v13采用Java EE 7将致...

kouxunli1
2013/12/06
496
4
IntelliJ IDEA 2018.2.6 发布, Bug 修复版本

IntelliJ IDEA 2018.2.6 已发布,这是 v2018.2 的第六个修复更新版本。 No subsystem Bug IDEA-200322 Project explorer empty Bug IDEA-201403 Rebuild Project action causes forced compi......

淡漠悠然
2018/11/14
1K
9

没有更多内容

加载失败,请刷新页面

加载更多

刚哥谈架构 (二) 我眼中的架构师

之前在公司,有小伙伴在向别人介绍我的时候,经常会有人这么说:“刚哥是我们的architcture”,如果来人是老外,心中一定是一惊,心中暗叹,“这位匪首看上去貌不惊人,难道已经做到了架构和...

naughty
43分钟前
3
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
119
4
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
5
0
Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部