使用IntelliJ IDEA,gradle开发Java web应用步骤
最近 正在学习gradle构建工具的使用,看了一堆的文档,有点一知半解,索性动作实践一把,在以后的自己的项目中尝试使用看看。目前手头用的是IntelliJ IDEA 14,搭建了一天终于明白怎么集成gradle赖开发Java web,就在这里记下来以后备用。
准备工作
- 本机安装好gradle
- 安装好java环境和IDEA 14
- 准备好tomcat
- 使用Jfinal jar包,后续做一个简单的Demo
#
工程创建步骤
- 打开IDEA,选择“New Project”->"Gradle",勾选图中的几个选项,在“gradle home”中填上本机gradle的安装目录,点击“next”。
- 填写工程名。点“finish”。
生成项目后目录结构如下,其中lib是手动建立的目录,用来放一些从本地导入的依赖包,后面Jfinal的jar包就在这里。其他目录都是IDEA根据gradle规范生成的。(运行build.gradle)
- 创建webapp目录,就是java的web目录(Eclipse中的WebRoot),存放jsp文件和WEF-INF等文件的地方。根据gradle目录规范。编辑build.gradle文件,在开头添加一个
apply plugin: 'war'
,在IDEA的gradle工具栏中运行"build"命令,就会生成在src/main下生成一个webapp文件夹,并且在项目的Modules中生成一个Web项目。 - 创建web.xml文件。点击"File"->"Project Structrue"。在对话框中选择"Modules",选择右边的项目下上一步生成的Web项目,点"Deployment Descriptor"中的绿色加号,在/src/main/webapp下添加一个web.xml文件。
- 这时一个java web项目的结构就已经搭建好了,看到项目菜单里的webapp文件夹已经有个小地球的标志。现在就可以按照在IDEA下java web开发的的操作开发web项目了。
- 按照Jfinal的帮助文档,把jar包导入,把web.xml配置好,写好Demo类,然后用gradle build,一个web demo就编译好了,后续只要启动web容器,部署应用即可。
gradle用jetty插件运行web项目更方便,
apply plugin: 'jetty'
gradle jettyRun,这里我还是用IDEA启动tomcat做测试。配置好tomcat,将gradle生成的artifacts(gradle构建时自动为项目天刚加了2个artifacts,一个是项目的war包,一个是没打包的exploded,推荐用exploded)添加到tomcat的deployment中。
点击工具栏上的"run",启动tomcat,容器启动后部署应用,没问题就可以正常访问站点了。
最后项目的目录结构:
几个文件的代码:
build.gradle
apply plugin: 'java'
//IntelliJ IDEA 插件
apply plugin: 'idea'
//war包插件
apply plugin: 'war'
sourceCompatibility = 1.6
version = '1.0'
repositories {
// 使用开源中国的maven仓库
maven { url 'http://maven.oschina.net/content/groups/public/' }
}
dependencies {
//导入本地的依赖包
compile fileTree(dir: 'libs', include: ['*.jar'])
//从maven仓库导入依赖
compile ('org.apache.httpcomponents:httpclient:4.4')
compile ('org.apache.commons:commons-lang3:3.3.2')
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>com.jfinal.demo.Config</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
DemoConfig.java
package com.jfinal.demo;
import com.jfinal.core.Controller;
public class DemoController extends Controller{
public void hello(){
renderText("hello world");
}
}
DemoController.java
package com.jfinal.demo;
import com.jfinal.config.*;
import com.jfinal.render.ViewType;
public class DemoConfig extends JFinalConfig {
public void configConstant(Constants me) {
me.setDevMode(true);
me.setViewType(ViewType. JSP);
}
public void configRoute(Routes me) {
me.add("/", DemoController. class);
}
public void configPlugin(Plugins me) {
}
public void configInterceptor(Interceptors me) {
}
public void configHandler(Handlers me) {
}
}
To Be Continue
gradle作为一个新兴的构建工具,有很多好玩的地方,解决完工程搭建后,要好好研究研究才行:)
使用IntelliJ IDEA,gradle开发Java web应用步骤的更多相关文章
- IntelliJ IDEA gradle 创建 Java web 应用
1.如下图,第一步很简单的,File->New->Project 2.在左边栏目找到Gradle,然后在右边勾选Java 和web 两个选项,next.如果只是Java项目就只选java就 ...
- MyEclipse开发Java Web项目步骤
1.安装工具 第一步,下载安装JDK,并配置环境: 配置环境变量步骤: (1)新建变量名:JAVA_HOME,变量值为JDK的安装路径: (2)打开PATH,添加变量值:%JAVA_HOME%\bin ...
- 使用IntelliJ IDEA开发java web
前言:由于本人接触java语言时间还比较短,IDE工具eclipse还比较熟悉点,想试试用IntelliJ IDEA来开发java web项目来练练手! 一.下载安装篇 1.安装IntelliJ ID ...
- IntelliJ IDEA: maven & jetty 开发 java web
之前使用eclipse + maven + jetty开发java web应用,本着no zuo no gain的想法, 折腾了一下Intellj idea下开发环境的搭建,顺带学习了maven re ...
- 26.使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及时显示修改后的页面
转自:https://blog.csdn.net/yuxxz/article/details/51318908 使用IntelliJ IDEA开发Java Web项目时,修改了JSP后刷新浏览器无法及 ...
- Gradle构建Java Web应用(转)
转自:http://www.blogjava.net/jiangshachina/archive/2014/02/03/409285.html 本文是发布在java.net上的一篇摘自于<Gra ...
- Gradle构建Java Web应用:Servlet依赖与Tomcat插件(转)
Gradle的官方tutorial介绍了构建Java Web应用的基本方法.不过在使用Servlet做上传的时候会碰到问题.这里分享下如何通过Servlet上传文件,以及如何使用Gradle来构建相应 ...
- eclipse开发Java web工程时,jsp第一行报错,如何解决?
与myeclipse不同,eclipse开发java web项目时是要下载第三方软件(服务器)的,正是这个原因,很多初学者用eclipse学习java web的时候,总是会遇到一些小问题.其中常见的一 ...
- 使用intelliJ IDE开发java web项目
<!-- spring版本号 --> <spring.version>4.3.0.RELEASE</spring.version> <!-- mybatis版 ...
随机推荐
- input输入框外联式样式控制不了字体
1.问题背景 在做项目过程中,发现input输入框利用外联样式,控制不了输入框的样式 2.问题原因 (1)HTML代码 <!DOCTYPE html> <html> <h ...
- linux命令返回值的含义
linux命令执行后无论成功与否都有一个返回值: 如果为 0,则表示命令执行成功,其它值则表示错误, 具体的错误码含义如下: "OS error code 1: Operation not ...
- 這是我既C語言作業寫博客後寫的第一篇博客
這篇博客應該算是寫給我自己的博客吧,所以這裏我想用繁體字寫,因為我漸漸地發現我已經很少使用到繁體字了,日常QQ聊天都使用簡體字,繁體字都懶得切換了,但是為了不讓別人麻煩,在外界交流的時候我會使用簡體字 ...
- 好的框架需要好的 API 设计 —— API 设计的六个原则
说到框架设计,打心底都会觉得很大很宽泛,而 API 设计是框架设计中的重要组成部分.相比于有很多大佬都认可的面向对象的六大原则.23 种常见的设计模式来说,API 设计确实缺少行业公认的原则或者说设计 ...
- Windows10解决无法访问其他机器共享的问题
你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问.这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁. 管理员身份执行sc.exe config lanmanwork ...
- cobbler装机错误--Failed to create kernel channel,-22
最近使用cobbler安装GPU的机器遇到了一个错误:Failed to create kernel channel,-22 经过各种搜索发现是英伟达的显卡与centos7的默认显卡驱动冲突导致. 网 ...
- flask第二十六篇——模板【控制语句】【2】
如果你也在学flask,就请加船长的公众号:自动化测试实战 我们先补充一下for循环的知识,我们之前说过,flask是由Jinja2+sqlAlchemy+werkzeug组成的,我们现在学的控制语句 ...
- 解决内部元素onMouseOver/onMouseOut事件冒泡触发父元素的相应事件
前阵子为BS项目模板做了一个左侧滑动信息栏,效果类似于windows状态栏的自动隐藏效果,鼠标移进滑出,鼠标移出隐藏,浮动时不占用空间,也可以固定住占一块位置.做的过程中遇到一个问题,鼠标在信息栏内部 ...
- oracle计算两个日期的时间差时分秒
Oracle函数可以实现诸多的功能,下面就介绍使用oracle函数计算时间差的实现方法. 两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差(分别以天,小时,分钟,秒 ...
- python 简明教程
第一个源程序 #!/usr/bin/python# Filename : helloworld.pyprint 'Hello world' 执行: $ python helloworld.py 或者 ...