在上篇博客中我们介绍了如何安装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. PatentTips - Method, apparatus and system for instructing a virtual device from a virtual machine

    BACKGROUND OF THE INVENTION A virtual machine (VM) may be or include a framework or environment crea ...

  2. Dynamics CRM 2016 Web API 消息列表

    Function Name Description CalculateTotalTimeIncident Function Calculates the total time, in minutes, ...

  3. Mahjong tree (hdu 5379 dfs)

    Mahjong tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Tot ...

  4. noi25 最长最短单词(为什么会出现运行时错误)

    noi25 最长最短单词(为什么会出现运行时错误) 一.总结 一句话总结:比如除以零,数组越界,指针越界,使用已经释放的空间,数组开得太大,超出了栈的范围,造成栈溢出 1.c++报runtime er ...

  5. RMAN异机复制数据库(相同路径)

    有完整的备份,新的数据库datafile.controfile.logfile所在目录结构和原数据库一样. 创建好adump.bdump.cdump.udump等目录. 1.恢复参数文件. 设置环境变 ...

  6. jquery的滚动事件

    $(selector).scroll(function);当滚动到合适的条件下,就触发某个函数. 现在基本就是前端利用AJAX对数据进行拼接操作,渲染进html的DOM结构中.

  7. Altium Designer如何创建类,如何修改线宽

    如果线宽还是没有改变,就是因为,有一个默认的class,它的规则优先级要高于PWR

  8. 【例题 6-19 UVA - 1572】Self-Assembly

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 旋转和翻转,会发现. 如果可以顺着某个方向一直放的话. 总是能转换成往下或者往右连的. 则只要能够出现一个连接顺序的循环,则总是有解 ...

  9. 通过 Microsoft iSCSI Software Target 提供存储服务

    软件下载地址: Microsoft iSCSI Software Target 3.3 下载完后成解压软件包如下: 安装官方的描述Target 端也就是服务端 只支持Windows Server 20 ...

  10. 结构体什么时候用.什么时候用->