今天学习spring的时候,学到了springMVC, 因为springMVC 就是beginning spring 书籍的第三章,为了更深入或更简单的起步学习springMVC, 我又找了另外一本书籍, Spring MVC Beginners Guide (2nd Edition),  这本书的开始确实比较简单,就是安装jdk, maven, tomact, 还有就是安装IDE, 他用的IDE 是Spring Tool Suite. 我就到spring 的官网也下载了它,最新的版本是4 (Spring Tool Suite 4).  下载完成后,它是一个压缩包,解压一下放到我们想放置的位置,比如D盘,就是如下的文件夹

  进入到该文件夹以后,有一个绿色的图标的.exe 文件,双击他就可以启动Spring Tool Suite,  启动成功后,发现和eclipse 几乎一模一样。为了不用每次都到该文件夹下启动程序,可以创建一个桌面快捷方式。和eclipse 一样,就要配置tomcat, 和maven, 这个也相对简单。配置成功以后,就简单做一个项目。但是项目根本启动不起来,刚开始学spring MVC, 报错肯定是慌了,从来没有学过,就是有点底气不足啊! 再说,amazon 上有的购买者对这本书的评价说有代码错误,我想是不是真的代码错误啊,算了吧!再看一看Beginning Spring 书籍中的第三章,它是怎么配置的,按照书本的内容,又配置了一边,项目还是有问题?没有办法,我把Beginning Spring 的源代码下载下来,引入到Spring Tool Suite中,项目还是启动不起来。最后实在是没有办法了,我把eclipse 打开, 看看eclispe 是不是 能把项目成功跑起来。把源代码导入的eclipse 中,这时在下方的控制面板的Markers中发现了两个错误

  web module与Java版本之间有冲突,百度了一下,发现是maven 的编译插件导致的,修改项目的编译插件就可以了。打开pom.xml 文件,在build 标签中输入如下内容

<build>
        <finalName>basic</finalName>
        <plugins>
            <!-- define the project compile level -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <source>1.10</source>
                    <target>1.10</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

  修改pom.xml 成功保存后,Markers 里面又显示了一个错误,说实话,有点害怕了,赶紧看了一下,

  还好,修改了pom文件后,项目和pom 文件不一致了,当然它也给出了错误的修改方法:Maven-> Update  Project, 我们照做就是了。Update Project 之后,错误消失了,松一口气。然后,把项目添加到 sever 里面, 在控制面板中,找到Servers, 如果没有, 菜单栏中,window-> Show View

  如果还是没有Severs, 像上图一样,就选最下面的Other, 然后在弹出框中,输入servers, 找到Servers, 点击一下,就可以添加了。成功添加Servers以后,在上面右击,选Add and Remove

  弹出框的左侧Available显示,可以添加的项目名,就是我们的这个项目,然后点击中间的Add, 他就到右侧的configured 框中了,点击finshied 就ok了。项目添加成功了,就点击右上角的绿色三角start 按钮,开始启动,没有报错.

  在eclipse 中,成功跑起来了,我又到把项目导入到Spring Tool Suite 中,在 Servers  中右键点击,添加项目的时候,提示There is no resources that can be add and Remove,

  拿着这一句话,百度了一下,最多的就是项目不是web 项目, 我肯定怀疑这个,因为在eclipse 中,它已经跑成功了。但我还是按照步骤,查了一下项目.settings 和.project 文件,都没有问题。然后就是项目的Project Facets中的选择项设置成动态的Web项目. 在项目上右击,选择properties, 然后在输入框中,输入project facets, 发现,根本就没有Dynamice web module 这一个选项,我搜了好久,答案都是这个样,但是我的Project Facets 中,根本就没有这个选项,并且也没有办法添加了。

  同时,还有两个报错

  1, Unknown referenced nature: org.eclipse.jem.workbench.JavaEMFNature.  百度了一下,显示最多的是,也是怎么java 项目转化成web 项目, 也就是说,我这个项目也不是 web 项目。

  2,   Implementation of project facet jst.web.jstl could not be found.Functionality will be limited, 解决方式是右击项目打开Properties选项,选中左侧Project Facets勾选Dynamic Web Module和Java选项并应用。

   现在可以确定的是 不是web 项目和 Project Facets 配置,其实只是一回事,那我接着百度,Project 下面,没有 Dynamic Web Module 选项,得到最大的答案是修改 .setting 和 .project 文件的内容,在我这里都没有问题?  没有找到解决办法。

  最后没有办法,还是要使用google, 来解决一下,FQ打开,把上面所有的问题,都用google 搜索了一下,有一个问题给了提示,他的eclipse 没法创建Dynamic Web Module, 我这时才想到,是不是Spring  Tool Suite  是不是也不能创建Dynamic web Moduel, 这时, File -> project.. -> 输入web,果然没有Dynamic Web Module 选项,这时就明白了。

  百度了一下,Eclispe 无法创建Dynamic Web Module, 原来是安装插件Eclipse Java EE Developer Tools。菜单栏help ---> install new software, 然后在弹窗框中work with选择,Juno - http://download.eclipse.org/releases/juno

  最后一个 Web, XML, Java, 如果按上图勾选,则全部安装这个插件的内容,其实也不用,点击这个选项前面的箭头,可以看到有好多组成项, 只选择其中的Eclipse Java EE Developer Tools,就行。但是我安装的时候,就像上图所示全选了,下载非常慢,且中间报错退出了。

  我想Spring Tool Suite 是不是能直接安装插件,搜了一下,也可以,菜单栏help --> Eclipse MarketPlace...

  弹窗后,在Find中输入Eclipse Java EE Developer Tools, 在结果列表向下滚动,直接有Eclipse Java EE Developer Tools 这个插件,如下图所示,

  点击Install 就可以进行安装了,安装完成后,重新Spring Tool Suite,这时,Servers 中,右键单击就可以添加web 项目了,同时,也可以创建动态web 项目了。

sts 创建springMVC项目---- maven和tomcat 错误处理的更多相关文章

  1. 工具idea 基于maven 创建springMVC项目

    SpringMVC Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一般不 ...

  2. springmvc学习笔记---idea创建springmvc项目

    前言: 真的是很久没搞java的web服务开发了, 最近一次搞还是读研的时候, 想来感慨万千. 英雄没落, Eclipse的盟主地位隐隐然有被IntelliJ IDEA超越的趋势. Spring从2. ...

  3. 【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】

    之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...

  4. 在eclipse中使用maven创建springMVC项目

    一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...

  5. SpringMVC教程--eclipse中使用maven创建springMVC项目

    一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...

  6. SpringMVC教程--Idea中使用Maven创建SpringMVC项目

    1.新建项目 参照idea教程中的创建maven项目https://www.cnblogs.com/daxiang2008/p/9061653.html 2.POM中加入依赖包 (1)指定版本 (2) ...

  7. Intellij IDEA 创建Web项目并在Tomcat中部署运行(不使用maven)【转载】

    原文链接:http://www.thinksaas.cn/topics/0/350/350000.html 一.创建Web项目 1.File -> New Module,进入创建项目窗口 2.选 ...

  8. eclipse创建springmvc项目

    一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...

  9. springmvc项目,浏览器报404错误的问题

    问题描述: 建立了web工程,配置pom.xml,web.xml,编写controller类,在spring-mvc-servlet.xml文件中指定开启注解和扫描的包位置<mvc:annota ...

随机推荐

  1. swagger文档转换为WebApiClient声明式代码

    1 swagger简介 Swagger是一个规范且完整的框架,提供描述.生产.消费和可视化RESTful Web Service.其核心是使用json来规范描述RESTful接口,另外有提供UI来查看 ...

  2. 并发系列(5)之 Future 框架详解

    本文将主要讲解 J.U.C 中的 Future 框架,并分析结合源码分析其内部结构逻辑: 一.Future 框架概述 JDK 中的 Future 框架实际就是 Future 模式的实现,通常情况下我们 ...

  3. jQuery(二)、选择器

    1.#id 根据给定的ID匹配一个元素,如果选择器中包含特殊字符,可以用双斜杆(\\) 转义 如: 查找ID 为 myDiv[bar] 的元素 HTML 代码: <div id="no ...

  4. 【Tomcat】Tomcat工作原理及简单模拟实现

    Tomcat应该都不陌生,我们经常会把写好的代码打包放在Tomcat里并启动,然后在浏览器里就能愉快的调用我们写的代码来实现相应的功能了,那么Tomcat是如何工作的? 一.Tomcat工作原理 我们 ...

  5. SpringBoot 动态更新 resources 目录的文件

    一.前言  SpringBoot 打成 Jar 包形式运行后 ,resources 目录下文件的读取修改和原来不太一样,网上比较多的是关于读取的方式,修改的几乎没有,终于在 stackoverflow ...

  6. Java建造(Builder)模式

    一.什么是建造模式: 建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而使一个建造过程生成具有不同内部表象的产品.客户端不需要知道产品内部的结构和生产过程. 二.建造模式的结构: Buil ...

  7. Spring WebFlux 响应式编程学习笔记(一)

    各位Javaer们,大家都在用SpringMVC吧?当我们不亦乐乎的用着SpringMVC框架的时候,Spring5.x又悄(da)无(zhang)声(qi)息(gu)的推出了Spring WebFl ...

  8. Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建

    目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Sp ...

  9. RowKey设计之单调递增行键/时序数据

    ​在一个集群中,一个导入数据的进程锁住不动,所有的client都在等待一个region (因而也就是一个单个节点),过了一会后,变成了下一个region…​如果使用了单调递增 或者时序的key便会造成 ...

  10. MyDAL - .Where() & .And() & .Or() 使用

    索引: 目录索引 一.API 列表 1.Where .Where(Func<M, bool> func) 如: .Where( it => (it.Prop1>=条件1 &am ...