使用Eclipse基于Maven的Spring MVC 调试心得(一)--- Maven配置

本文介绍了如何在Eclipse中配置Maven,包括修改Maven安装路径,设置阿里云仓库镜像,解决Spring最新版本依赖问题,以及配置Maven的User Settings。此外,还详细说明了如何通过Rebuild Index同步资源索引,以及解决NoClassDefFoundError错误的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文修改于2017-03-03,由于OSChina的Maven仓库关闭,改为用Aliyun的仓库,因此将文中的OSChina改为Aliyun

1.从 Maven 下载依赖包

(1)修改Eclipse中Maven的配置目录

Window --> Preference --> Maven --> Installations --> Add --> External ,在Installation name输入Maven的版本号(如:apache-maven-3.3.9),并在Directory 选择Maven的解压目录(如:D:\Program Files\apache-maven-3.3.9-bin\apache-maven-3.3.9)

 

(2)由于某些原因,国内访问Maven中心仓库的速度太慢,建议从开源中国的Maven库同步,镜像地址:http://maven.aliyun.com/nexus/#view-repositories;public~browsestorage

或者直接去开源中国下载配置文件:http://maven.oschina.net/help.html

完整镜像配置:

           

<span style="font-size:18px;"><mirror>
                 <id>nexus-osc</id>
                 <mirrorOf>*</mirrorOf>
                 <name>NexusAliyun</name>
                 <url>http://maven.aliyun.com/nexus/content/groups/public</url>
           </mirror></span>

 

(3)配置Eclipse 中Maven的User Settings

Window --> Preference --> Maven --> User Settings,配置为刚刚下载的settings.xml,并 UpdateSettings,配置完后,重启Eclipse。


(4)新建Spring MVC 项目时,Spring的某些最新版本的包没有同步到Maven仓库,因此只能再建一个镜像地址从Spring的仓库中同步这些包,Spring仓库的镜像地址:http://repo.spring.io/milestone/

完整镜像配置:

           

<span style="font-size:18px;"><mirror>
                 <id>spring-milestone</id>
                 <mirrorOf>*</mirrorOf>
                 <name>spring-milestone</name>
                 <url>http://repo.spring.io/milestone/</url>
           </mirror></span>

(5)修改完镜像地址后,必须先更改本地仓库路径,配置如下:

<span style="font-size:18px;"><localRepository>D:/ProgramData/Maven</localRepository></span>


(6)然后选择 Window --> Show View --> Maven Repositories ,出现 Maven Repositories 视图,选择 Global Repositories ,分别右击spring-milestone 和 nexus-osc 选择 Rebuild Index,即可从服务器同步资源索引到本地

提醒一下:此过程需要耐心,因为从 Aliyun 同步的索引大概有 1G,从 spring-milestone 同步的索引大概有10M ,但由于墙的原因,网速较慢,花费时间很长,所以要很耐心,很耐心。



 


2.配置Maven依赖管理的pom.xml文件

(1)从Spring仓库下载的依赖包:

                

<span style="font-size:18px;"> <dependency>
                      <groupId>org.springframework</groupId>
                      <artifactId>spring-framework-bom</artifactId>
                      <version>${spring.version}</version>
                      <type>pom</type>
                      <scope>import</scope>
                 </dependency></span>

此依赖文件是Spring仓库的pom文件,Maven又根据此pom文件到Spring仓库下载相应的jar包

(2)出现此错误时,

java.lang.NoClassDefFoundError:javax/servlet/jsp/jstl/,在pom.xml文件下添加此依赖:

     

<span style="font-size:18px;">      <dependency>
              <groupId>javax.servlet</groupId>
              <artifactId>jstl</artifactId>
              <version>1.2</version>
           </dependency></span>

(3)pom.xml完整配置如下:

<span style="font-size:18px;"><projectxmlns="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.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>imooc-arthur</groupId>
      <artifactId>spring-mvc-study_2</artifactId>
      <version>1.0.0-SNAPSHOT</version>
 
      <properties>
           <commons-lang.version>2.6</commons-lang.version>
           <slf4j.version>1.7.6</slf4j.version>
           <spring.version>4.1.3.RELEASE</spring.version>
      <jackson.version>2.5.4</jackson.version>
      </properties>
 
 
      <dependencyManagement>
           <dependencies>
                 <dependency>
                      <groupId>org.springframework</groupId>
                      <artifactId>spring-framework-bom</artifactId>
                      <version>${spring.version}</version>
                      <type>pom</type>
                      <scope>import</scope>
                 </dependency>
           </dependencies>
      </dependencyManagement>
 
      <dependencies>
           <dependency>
                 <groupId>org.springframework</groupId>
                 <artifactId>spring-webmvc</artifactId>
           </dependency>
 
           <dependency>
                 <groupId>commons-lang</groupId>
                 <artifactId>commons-lang</artifactId>
                 <version>${commons-lang.version}</version>
           </dependency>
 
 
           <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-log4j12</artifactId>
                 <version>${slf4j.version}</version>
                 <exclusions>
                      <exclusion>
                            <artifactId>slf4j-api</artifactId>
                            <groupId>org.slf4j</groupId>
                      </exclusion>
                 </exclusions>
           </dependency>
 
           <dependency>
                 <groupId>org.slf4j</groupId>
                 <artifactId>slf4j-api</artifactId>
                 <version>${slf4j.version}</version>
           </dependency>
 
           <dependency>
                 <groupId>javax.servlet</groupId>
                 <artifactId>servlet-api</artifactId>
                 <version>2.5</version>
           </dependency>
 
           <dependency>
                 <groupId>commons-fileupload</groupId>
                 <artifactId>commons-fileupload</artifactId>
                 <version>1.3.1</version>
           </dependency>
 
           <dependency>
                 <groupId>com.fasterxml.jackson.core</groupId>
                 <artifactId>jackson-databind</artifactId>
                 <version>${jackson.version}</version>
           </dependency>
 
           <dependency>
              <groupId>javax.servlet</groupId>
              <artifactId>jstl</artifactId>
              <version>1.2</version>
           </dependency>
          
      </dependencies>
 
</project></span>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值