在上篇博客中我们介绍了如何安装Eclipse Che这种浏览器SDK之后,收到了许多开发者的提问,为了方便初学者开发Java web应用,笔者又一步步实践了spring web开发(demo)过程,欢迎指正。使用Eclipse Che需要你掌握基本的maven命令(如果以前用ant,很容易就会掌握)。本文介绍一个如何利用Eclipse Che开发Spring Web,开发者也需要懂得关于Spring基础知识。 博文包括几个部分:1.Spring Demo项目创建,2.编译和部署,3.运行web应用,4.总结

1.创建spring web项目(DEMO)

进入workspace目录,workspace --> create project --> web java spring,如下:

点击next,完成创建:

初次打开时候,CreetingController.java会有很多红色错误,原因是无法找到依赖库,这个后台从maven repo下载依赖库,等完成所有依赖下载之后会正常显示。如下:

其实linux依赖库放在:~/.m2/respository下面(懂得maven的人略过)。(打开Consoles输入相关命令即可,如下示例)

2.maven编译和部署

创建一个cmd(安装Eclipse Che这篇已经介绍了),命令如下(默认cp到webapps,保存为ROOT.war,可根据需要改为web名,如TestSpring.war):

mvn -f ${current.project.path} clean install && cp ${current.project.path}/target/*.war $TOMCAT_HOME/webapps/ROOT.war

实际输入命令为:clean install && cp ${current.project.path}/target/*.war $TOMCAT_HOME/webapps/ROOT.war(如下图配置命令)

注意:默认TOMCAT_HOME已经配置完成。你可以在consoles中看到路径(echo $TOMCAT_HOME)

完成编译和部署(Console输出如下)

3.运行Web服务

3.1.启动dev machine环境(Docker)中tomcat8容器

可以在terminal采用命令方式启动tomcat8,即:默认在home user目录(/home/user/tomcat8)下,在bin目录下启动脚本startup.sh

3.2.在tomcat8 webapps目录下,你看到有个ROOT.war为刚刚copy过去的TestSpring项目编译后的war,启动后自动在webapps解压为ROOT(根应用)

3.3.在workspace右上角有一个蓝色切换按钮,可以查看docker中tomcat8地址与本机地址的映射关系,如下图:

即可知道,docker tomcat8 8080对应地址和端口,在本地浏览器中敲入地址:http://192.168.99.100:32769,展示如下界面,说明应用发布成功。如果发布不成功,请检查tomcat8是否启动。

OK,测试应用没有问题(可以松一口气了,哈哈)!

对于刚入门的用户可能会有所疑惑

1.docker中应用对应本地的地址,VM安装后已经默认分配了地址

2.默认docker中是没有启动tomcat8,因此直接http://192.168.99.100:32769,是无法打开网页的,检查tomcat8是否开启可以用如下命令(二者皆可):

a.熟悉java的人都知道用jps命令查看java进程,如下图(命令:jps -vl),红框为tomcat8服务,表示启动了。你可能注意到还有一个进程,其实为ws-agent,即为workspace -agent,为docker与跑che.bat对接的agent

b.一般默认tomcat为8080服务端口,用netstat -apn| grep 8080查看tomcat是否启动也是可以的。下图红框表示本地8080端口已经启动监听,另外与远端192.168.99.1:8080位ws-agent与Eclipse Che对接的服务,上文已经说明

4.总结

总体说,通过Eclipse Che运行起一个web应用还是相对简单的。笔者在使用Che过程中,切身体会到采用Che相对传统的APP SDK模式便利很多,真可谓随时随地(只要能连上)就可以开发,Eclipse Che已经天然和Git和docker集成,一键式串联整个团队开发过程中涉及的几个过程:版本管理,编译,部署和运行。当然,目前Eclipse Che功能还不是很完善,期待新版本出现!

Eclipse Che开发Spring Web应用(入门) (二)的更多相关文章

  1. Jmeter Web 性能测试入门 (二):Fiddler 抓取 http/https 请求

    jmeter自带了拦截request的功能,并且也有对应的tool:badboy 可以用.但由于我经常做移动端的项目,个人还是习惯用fiddler来收集request. 官网下载并安装Fiddler ...

  2. Spring Web Flow 入门demo(二)与业务结合 附源代码

    第一部分demo仅仅介绍了简单的页面跳转,接下来我们要实现与业务逻辑相关的功能. 业务的逻辑涉及到数据的获取.传递.保存.相关的业务功能函数的调用等内容,这些功能的实现都可用Java 代码来完毕,但定 ...

  3. 菜鸟学习Spring Web MVC之二

    有文章从结构上详细讲解了Spring Web MVC,我个菜鸟就不引据来讲了.说说强悍的XP环境如何配置运行环境~~ 最后我配好的环境Tomcat.Spring Tool Suites.Maven目前 ...

  4. Web API 入门 二 媒体类型

    还是拿上面 那篇 Web API 入门 一  的那个来讲 在product类中加一个时间属性

  5. Spring Web Flow 入门demo(三)嵌套流程与业务结合 附源代码

    上篇博客我们说Spring web Flow与业务结合的方式主要有三种,以下我们主要介绍一下第三种的应用方式 3,运行到<action-state> 元素 SpringWeb Flow 中 ...

  6. Spring Web MVC(二)

    [toc] 五大核心组件 Controller (处理器.控制器) 控制器的概念是MVC设计模式的一部分(确切地说,是MVC中的C).应用程序的行为通常被定义为服务接口, 而控制器使得用户可以访问应用 ...

  7. JavaWeb学习笔记——开发动态WEB资源(二)HelloWord

    该工程的功能是在页面上输出一段话 首先在src里面新建一个class,在interface里面添加javax.servlet.Servlet 以下是HelloServlet.java中的代码: pac ...

  8. 在eclipse中运行spring web application时的异常: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderLis ...

  9. Eclipse Oxygen创建maven web项目(二)

    配置项目依赖库及第三方工具. 如示例的pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi ...

随机推荐

  1. 【前端统计图】echarts实现属性修改

    原图: 原代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  2. Testin云測与ARM 战略合作:推动全球移动应用加速进入中国市场

    Testin云測与ARM 战略合作:推动全球移动应用加速进入中国市场 2014/10/14 · Testin · 业界资讯 (中国北京–2014年10月14日 )全球最大的移动游戏.应用真机和用户云測 ...

  3. 几个移动web app开发框架

    几个移动web app开发框架 一.总结 1.有amaze ui,有app.js(登录注册界面用到的)  二.几个移动web app开发框架 jQuery Mobile jQuery Mobile框架 ...

  4. Spring Boot Shiro 权限管理

    Spring Boot Shiro 权限管理 标签: springshiro 2016-01-14 23:44 94587人阅读 评论(60) 收藏 举报 .embody{ padding:10px ...

  5. JRebel热部署神器的配置(Eclipse,非教程,就自己看看)

    1.安装下载 直接下官方正版的就好了 eclipse->help->eclipse marketplace 搜索JRebel 然后按步骤一步步安好 安装好记得重启 2.注册 这东西在搞活动 ...

  6. YASM User Manual

    This document is the user manual for the Yasm assembler. It is intended as both an introduction and ...

  7. 28、从零写UVC驱动之实现设置属性

    1. 先看APP以确定需要实现哪些接口xawtv.c: grabber_scan ng_vid_open//根据链表的设置和读取可以在xawtv中找到是调用v4l2_driver.open v4l2_ ...

  8. c#编程:给定一个正整数求出是几位数并逆序输出

    <span style="color:#FF0000;">第一步:把输入的数字转为字符串n.ToString() 第二步:求出字符串的长度即为正整数的位数 第三步:从后 ...

  9. ALERT日志中常见监听相关报错之二:ORA-3136错误的排查

    最近在多个大型系统中遇到此问题,一般来说假设client未反映异常的话能够忽略的. 假设是client登陆时遇到ORA-12170: TNS:Connect timeout occurred,能够參考 ...

  10. Cash Loan----:利用脚本自动化部署系统,解放我们的双手

    [前言] 现在我们的项目发布(从git上拉代码部署到Linux上)是通过脚本来完成,生产和测试环境都是运维在控制,开发联调环境由开发来负责,之前开发环境每次部署都是先在本地打好jar包然后传到服务器上 ...