申明:部分内容参见别人的博客,没有任何的商业用途,只是作为自己学习使用。(大佬博客)

一、相关环境

- eclipse :eclipse-jee-oxygen-3-win32-x86_64(下载地址

-Maven:maven-3.5.3

- jdk :1.8

- tomcat:7.0

-mysql :5.5.4

-spring 5.0.1

二、软件安装

前面的软件安装包括Maven的简单使用,我会抽时间写一个简单的教程。

三、创建MavenWeb项目

创建完之后,是这样的,好像结构不对,别着急,问题:因为默认使用自带的jdk,需要调成自己的jdk

解决方法:

别急,后台又开始另外一个错误:我们看他的描述,表示没有找到"javax.servlet.http.HttpServlet"

Description    Resource    Path    Location    Type
The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path index.jsp /SpringMVCBlog/src/main/webapp line 1 JSP Problem

解决方法:

右键项目——properties——

一路apply——finish之后发现世界安静了

四:利用Maven导入jar包

既然我们要用SpringMVC开发,那肯定少不了SpringMVC的相关jar包。如果不使用Maven的话,那就需要去官网下载相关的jar包,然后导入到项目中。现在使用maven的话,就不需要上网找jar包了。具体容我一一道来。

Maven所做的工作其实很简单,就是自动把你需要的jar包下载到本地,然后关联到项目中来。maven的所有jar包都是保存在几个中央仓库里面的,其中一个最常用的是Maven Repository,即,你需要什么jar包,它就会从仓库中拿给你。那么如何告诉maven需要什么jar包呢?我们看看工程目录,能找到一个pom.xml文件(这个文件在刚创建好项目时就已经展现在了大家面前),maven就是靠它来定义需求的,代码如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.hone</groupId>
<artifactId>SpringMVCBlog</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>SpringMVCBlog Maven Webapp</name>
<url>http://maven.apache.org</url> <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>SpringMVCBlog</finalName>
</build> </project>

我们可以看到这个文件包含了我们之前定义的本项目的gropId等信息,这些信息是该项目的标识,我们不要去改动它们。重点看<dependencies>标签,翻译过来是”依赖“的意思,也就是说把对每个包的需求都称为一个依赖<depedency>,定义在<dependencies>中。在每个<depedency>中,你需要提供的是所需jar包的groupId、artifactId、version这三个必要信息。比如上面我们看到引入可一个junit包,格式如下:

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>

这是单元测试包,提供了三个基本信息,第4个scope对其他包来说是非必需的。所有jar包的引入都要满足这个格式。那么如何查看这些jar包的3个信息呢,可能刚接触是开发者还不是很熟悉,这个时候就需要查阅仓库了。比如我们需要引入Spring核心jar包spring-core,打开Maven Repository搜索spring-core,进入如下界面:

点击进入红框选中的Spring Core,如下所示,可以看到各版本的使用情况:

选择最新版本4.2.5.RELEASE,可以看到其dependency写法如下红框所示:

我们将其复制到pom.xml中的<dependencies>中:

这样,Maven就会开始自动下载jar包到本地仓库,然后关联到你的项目中,下载完成后,我们展开工程目录中External Libraries:

可以发现,虽然我们只写了一个依赖,但是它导入了两个jar包,也就是说,导入某个jar包时,与它密切相关的jar包也会同时被导入进来。

除了spring-core,我还要spring-context,复制spring-core的<dependency>,将spring-core改为spring-context,如下:

    <dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.4.RELEASE</version>
</dependency>

这就是Maven的强大之处,如果你需要使用SpringMVC开发网站的话,只需记住几个重要的包的名字,就可以轻松将所有包导入项目中。

长话短说,现在我们要进行SpringMVC的开发,请把你的pom.xml变成下面的样子,当然不要改你的grupId等信息(从modelVersion到url都不要动):

<properties>
<spring.version>5.0.4.RELEASE</spring.version>
<hibernate.version>5.1.0.Final</hibernate.version>
</properties>

请在<dependencies>中加入以下依赖:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency> <dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.10.1.RELEASE</version>
</dependency> <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
</dependency> <dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>${hibernate.version}</version>
</dependency> <dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency> <dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>

将<build>改成如下形式:

<build>
<finalName>SpringMVCBlog</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>

maven自动帮助我们配置了如此多的配置文件

可能在创建项目完成后提示错误:

Description Resource Path Location Type
Project configuration is not up-to-date with pom.xml. Run Maven->Update Project or use Quick Fix. SpringMVCDemo line 1 Maven Configuration Problem

解决方法:只需要按照提示右键项目——Maven——Updata Project

当建立项目之后,却突然提示我这个错误

第一个错误提示我,java编译jdk的版本和安装jdk的版本不一致。

解决方法通常有以下几种:

解决方法 1:

我使用的jdk是1.8

  windows—proferences—java–compiler设置jdk为1.8

  windows—proferences—java–Installed JREs设置jdk为1.8

  点击项目右键–properties—java Compiler 设置jdk为1.8

  点击项目右键–properties—eclipse—project Facets设置java为1.8

  点击项目右键–properties—eclipse—project Facets设置Dynamic Web Module 为3.1(这是你在web.xml配置的servlet版本)

  点击项目右键–Maven—update project 错误应该可以消除

如果还是不行你就在pom.xml里面的,修改plugin的版本(我安装的jdk是1.8,但是我调成1.8之后,一直报错,我只能调成jdk1.7,错误解决,但是此种方法指标不治本)

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>

解决方法 2:

修改安装目录中的..\apache-maven-3.3.9\conf中的settings.xml中修改jdk版本 
在profiles节点中添加

<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>

解决方法3:

到该项目路径下面修改org.eclipse.wst.common.project.facet.core.xml这个文件,检查版本是否一直

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="jst.web" version="3.1"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.8"/>
</faceted-project>

到现在,一个完整的环境搭建完成。

利用maven开发springMVC项目——开发环境搭建(版本错误解决)的更多相关文章

  1. SpringMVC拓展——利用maven构建springMVC项目

    一.构建项目结构 首先需要构建一个符合目录结构的maven项目 file->new->maven project,勾选 create a simple project->next / ...

  2. Windows下PHP+Eclipse开发环境搭建 及错误解决(apache2.2服务无法启动 发生服务特定错误:1)

    前言 Eclipse与php/apache的关系:Eclipse只是用来写代码的,如果想要在浏览器查看运行效果就要让php/apache的运行目录指向你的代码目录.Eclipse貌似不会自己和apac ...

  3. SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建

    SSM 框架-03-MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建 如果你是使用 Eclipse 你需要先安装 MyEclipse,请参考:SSM 框架-02-MyEclipse ...

  4. iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController)

    iOS开发——实战OC篇&环境搭建之Xib(玩转UINavigationController与UITabBarController)   前面我们介绍了StoryBoard这个新技术,和纯技术 ...

  5. iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController)

    iOS开发——实战OC篇&环境搭建之纯代码(玩转UINavigationController与UITabBarController)   这里我们就直接上实例: 一:新建一个项目singleV ...

  6. [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)

    MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)   网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...

  7. 使用纯注解与配置类开发springMVC项目,去掉xml配置

    最近拜读了杨开振老师的书,深入浅出springBoot2.x,挖掘了很多以前被忽略的知识, 开发一年多,工作中一直用传统springmvc的开发,基本都还是用的传统的xml配置开发, 看到书里有提到, ...

  8. [置顶] Django 微信开发(一)——环境搭建

    Django 微信开发(一)——环境搭建 随着移动互联网时代的到来,微信——一个改变着我们生活的产品悄悄走近了我们的生活.我们不得不觉得自己很幸运,自己能在这个世界上遇到像QQ.微博.微信这样优秀的产 ...

  9. 《Maven在Java项目开发中的应用》论文笔记(十七)

    标题:Maven在Java项目开发中的应用 一.基本信息 时间:2019 来源:山西农业大学 关键词:Maven:Java Web:仓库:开发人员:极限编程; 二.研究内容 1.Maven 基本原理概 ...

随机推荐

  1. 局域网内使用ipv6 通信

    链路本地地址:用于网段内通信,不能跨路由访问 在ping本地链路地址和全球唯一地址时有点差别,链路本地地址需要加上网络接口号 Linux 查看ipv6链路本地地址:ifconfig linux系统pi ...

  2. JPA 实体映射

    一.实体基本映射 /* * @Entity:将领域对象标注为一个实体,表示保存到数据库中 * @@Table:保存到数据库中表名,默认表名为类名,可通过name属性命名 * * */ @Entity ...

  3. SQL导出到Excel 存储过程

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_exporttb]') and OBJECTPROPER ...

  4. CSS Align bottom

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  5. bootstrap学习笔记(网页开发小知识)

    这是我在学习Boostrap网页开发时遇到的主要知识点: 1.导航条navbar 添加.navbar-fixed-top类可以让导航条固定在顶部,固定的导航条会遮住页面上的其他内容,除非给<bo ...

  6. vue2.0路由写法

    // 0. 如果使用模块化机制编程,導入Vue和VueRouter,要调用 Vue.use(VueRouter) // 1. 定义(路由)组件. // 可以从其他文件 import 进来 var Fo ...

  7. VS2013下使用log4cplus

    原文:http://blog.csdn.net/qq_35850668/article/details/52522932 最近工作需要,需要使用log库来完善日志类记录,由于之前没什么经验,遇到了很多 ...

  8. MUI框架-12-使用原生底部选项卡(凸出图标案例)

    MUI框架-12-使用原生底部选项卡(凸出图标案例) 今天,用 mui 做 app 时,遇到了可能各位都遇到过的头疼问题:底部中间图标凸起,如下图: 最后有源代码 [提示]:有人问我在 HBuilde ...

  9. 《深入理解JVM》第二章读书笔记

    Java内存区域与内存溢出异常 运行时数据区域 JVM执行java程序的时候有一个运行时数据区,每个区域有自己的作用,了解这些区域有助于我们理解JVM.JVM运行时数据区如图所示: 程序计数器 该区域 ...

  10. Intelij IDEA 配置Tomcat时找不到 “Application Server”

    由于公司突然断电,再打开idea的时候,tomcat就消失了.然后在网上搜了一下,没搜到自己乱点了一下. 如图 : plugins >>   application servers Vie ...