最新版的Spring需要使用Maven构建,本文讲述怎么在Eclipse构建Maven项目,以配置Spring项目为例。


maven简单介绍

maven是构建工具,也是构建管理工具。ant只是构建工具,因为不支持生成站点功能,只有预处理,编译,打包,测试,部署等功能。

1.  仓库的概念
在基于Maven管理的项目开发中,这个项目自身是不引进第三方jar包的,使用的时候通过pom.xml的依赖机制,从本地仓库或者远程仓库去获取第三方jar包。这个其实是打破了以往的开发习惯,一般我们是在开发项目的时候需要哪个jar包了,立刻google一下,找到相关网址,之后下载,放到我们项目的classpath中。现在是不必强制引用jar,只要通过pom.xml配置,到一定的时刻,比如编译、测试、打包、部署,自然会将依赖的jar放进您预先的位置。Maven仓库是基于简单文件系统存储的,根据咱们之前提到的坐标,可以找到该组件在仓库的位置。

2.  仓库的分类
Maven的仓库分为2种,一个就是本地机器的本地仓库,另一个就是远程的Maven中心仓库。当本地仓库没有您需要的jar包的时候,它会从远程核心中心仓库中下载。为了节省Maven核心仓库的带宽和时间,很多企业都在公司的局域网内搭建了私有的仓库服务器,内部项目先从私服下载东东,没有的时候私服从外网中心仓库下载,内部开发的项目还能上传到私服上供其他项目组使用。

3.  本地仓库明细
本地仓库大家默认是在用户临时文件夹的~/.m2/repository下的settings.xml 。
中心仓库地址:http://search.maven.org/

一.配置Maven

1.安装m2eclipse插件

要用Eclipse构建Maven项目,我们需要先安装meeclipse插件,打开Eclipse菜单栏Help->Eclipse Marketplace

输入“Maven”搜索到插件Maven Integration for Eclipse 并点击insall安装

2.构建Maven简单项目

安装成成之后我们在Eclipse菜单栏中点击File->New->Other

在弹出的对话框中点击Maven文件夹

点击Maven Project,并点击Next,到下一个对话框是默认设置,没什么特别的,继续点击Next到下面这一步

如图所示,选择maven-archetype-quickstart,点击Next

填写好GroupId, ArtfactId,Version等信息,点击Finish。

maven坐标

groupId:项目组织的逆向域名,比如Apache的项目可以org.apache开头

artfactId:表示groupId下单个项目的唯一标识

version:发布项目的版本,版本标识加上SNAPSHOT标记

packing:项目打包后的输出,默认为jar。指为war项目打包生成一个web项目。

groupId,artfactId,version标识项目的唯一性,packing可以缺省

这样我们就创建好一个Maven简单项目,项目结构如图所示

3.构建Maven Web项目

其实构建Maven Web项目的操作跟创建简单Maven项目类似,点击Eclipse菜单File->New->Other->Maven->Maven Project

在选择maven-archetype的界面进行如下操作:

点击Next弹出填写Maven坐标信息的窗口

在弹出的窗口填写好相应的groupId,artifactId,version等信息,点击Finish完成。

构建好的Maven web项目结构如图所示

4.设置Maven项目属性

右击项目,点击Properties->Project Facets

如图所示可以看到项目为web2.3,java1.5,我们也可以改成我们所需要的版本。

也可以打开配置文件web2/.settings/org.eclipse.wst.common.project.facet.core.xml,修改即可:

5.导入Maven项目

切换project explorer

很多时候我们需要project explorer,可以点击菜单上的Window--project explorer

然后在Eclipse project explorer中右击,在弹出框中选择import

选择Existing Maven Projects,点击Next下一步

选择一个已经创建好的Maven项目,并点击Finish,这样导入Maven项目就完成了。

6.获取Spring的Maven坐标信息

Spring官网是http://spring.io/  

我们需要选择Projects,再选择Spring Framework,也就是这个链接  http://projects.spring.io/spring-framework


我们选择3.2.7版本Spring的Maven构建坐标信息复制

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

7.在Maven中配置Spring依赖信息

pom文件简介

pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。

打开之前创建的WebApp项目

pom.xml就在项目的根目录下,如上图所示。

双击pom.xml打开如图所示的窗口集合,默认是Overview视图,可以点击下面的页签切换视图。

点击Dependencies切换到依赖窗口,点击Add新建项目依赖。

填写之前选择的Spring的Maven坐标信息,点击OK。

切换到pom.xml页签可以看到新增的项目信息。

点击“保存”按钮

点击Maven Dependencies可以看到Spring项目的依赖的jar包已经引入。

8.最基本的Spring的Helloworld程序

在src/main/java的com.mc.app.WebApp包下

新建Java源文件HelloWorld.java

HelloWorld.java代码:

package com.mc.app.WebApp;public class HelloWorld {private String message;public void setMessage(String message){this.message  = message;}public String getMessage(){return this.message;}public void printMessage(){System.out.println("Your Message : " + message);}
}

修改App.java
导入spring包,已经可以使用自动提示代码功能,说明jar包导入成功

App.java代码:

package com.mc.app.WebApp;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/*** Hello world!**/
public class App
{public static void main( String[] args ){ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");       HelloWorld obj = (HelloWorld) context.getBean("helloWorld"); obj.printMessage();}
}

在eclipse工程下建立资源文件夹

需要做的工作是让项目知道这个文件夹是source,下面是eclipse中设置方法:
1、右键项目,选择Properties
2、在弹出的视窗中,选择左侧的Java Build Path
3、此时在右侧菜单中选择Source
4、在右侧菜单下的窗体,选择Add Folder,把你刚才建立的文件夹例如src选中

配置文件Beans.xml

需要新建一个XML文件来配置bean,这个XML的作用是集中在一个地方,配置和管理所有的bean。
将这个XML文件放在src下面,这样就保证Eclipse可以在CLASSPATH下读取到这个文件。
新建一个Beans.xml,要注意和MainApp.java中ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml")一致。

Beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><bean id="helloWorld" class="com.mc.app.WebApp.HelloWorld"><property name="message" value="Hello World By http://blog.csdn.net/unix21!"/></bean></beans>

spring xsd文件地址

http://www.springframework.org/schema/beans/


运行Maven命令

右击项目,点击Run as,如下所示:

可看到有很多现有的maven命令,点击即可运行,并在控制台可以看到运行信息 如果你想运行的maven命令在这里没有找到,点击Maven build 5创建新的命令。

填入Maven命令:clean package,点击Run即可:

Maven常用命令
清理     clean
编译     compile
打包     package
安装     install
跳过测试         clean package -Dmaven.test.skip=true

在App.java上右键点击Run As Java Application

成功输出:Your Message : Hello World By http://blog.csdn.net/unix21!

第二次重新使用Maven Build

可以选择Maven Build4,这样就可以使用之前使用过的命令,如果使用5就弹出使用新框,可以使用新命令

--------------------------------------------------------------

补充:如果Maven配置少了一个spring的jar包,提示: ArtifactTransferException: Failure to transfer

添加依赖之后,总是报添加的依赖jar文件找不到,但是在nexus的库里面能找到这个依赖的jar文件,但是在本地的maven库里面找不到,于是我将本地库里面这个依赖对应的文件夹删掉,然后在eclipse里面执行update dependencies。成功解决问题!

本地库的位置其实很好找

删掉.m2目录下的repository

-------------------------------------------------------------

重要补充:

如果提示找不到Beans.xml配置文件

INFO: Loading XML bean definitions from class path resource [Beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [Beans.xml]; nested exception is java.io.FileNotFoundException: class path resource [Beans.xml] cannot be opened because it does not exist
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:343)
那么就是没有将配置文件放入资源文件中!

1.可以项目--右键-新增资源文件夹  也就是  "Source folder"

2.命名资源文件夹名称

src/main/resources

建好的资源文件夹如图所示:

3.新增Beans.xml文件

这个文件和前面的内容一致。

4.重新Run As Java Application

即可成功访问。

5.如果还是不行,可以尝试修改Beans.xml配置文件中的字符。还有需要注意配置文件不要写错了!

在Eclipse中使用Maven构建Spring项目相关推荐

  1. JavaWeb之Eclipse中使用Maven构建SpringMVC项目

    为了学习spring和maven我这也是拼了老命了,光使用maven配置springmvc我花了上周一周的时间,下班回来就搞,一直有bug,一个bug接着一个,昨天一整天都在解决配置的问题,让大学同学 ...

  2. 在 Eclipse 中使用 Maven 构建 Web 项目

    运行之前还需配置 Run Configuration: 转载于:https://www.cnblogs.com/xiaofeng6636/p/4743887.html

  3. Maven学习总结(七)——eclipse中使用Maven创建Web项目

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Pr ...

  4. (转)Maven学习总结(七)——eclipse中使用Maven创建Web项目

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Project 选择File -& ...

  5. 解决首次在eclipse中使用maven构建hadoop等项目时报Missing artifact sun.jdk:tools:jar:1.5.0的问题...

    问题原因: eclipse中的maven插件默认没有引用环境变量,所以找不到jdk的路径,也就找不到tool.jar. 解决办法: 步骤如下: 1.关闭eclips 2.在eclipse的解压目录中与 ...

  6. IDEA中使用Maven构建SSM项目

    文章目录 第一步 创建Maven webapp项目 第二步 搭建项目目录结构 第三步 添加配置文件内容 第四步 测试 第一步 创建Maven webapp项目 1. 首先,新建工程; 2. 选择Mav ...

  7. 使用Maven构建Spring项目“HelloWorld”

    开始学习Spring,因为以前都没用过Maven,所以打算边学习Spring边熟悉Maven.这里自己使用Maven构建一个spring项目demo 1.新建maven项目: 2.构建Spring环境 ...

  8. maven构建Spring项目

    2.修改 pom.xml,添加Spring依赖 [html] view plaincopy <project xmlns="http://maven.apache.org/POM/4. ...

  9. Maven学习总结(7)——eclipse中使用Maven创建Web项目

    一.创建Web项目 1.1 选择建立Maven Project 选择File -> New ->Project,如下图所示:

最新文章

  1. 对DeDecms之index.php页面的补充
  2. python函数高级运用
  3. idea springboot 无法run_2021 最新版 Spring Boot 速记教程
  4. 秒杀多线程第十篇 生产者消费者问题
  5. maven使用testng_使用ReportNG更好看的TestNG HTML测试报告– Maven指南
  6. 工作68:子路由跳转
  7. Weblogic12c T3 协议安全漏洞分析【CVE-2020-14645 CVE-2020-2883 CVE-2020-14645】
  8. Gradle_04_解决多项目同级依赖时找不到符号的异常
  9. jmap查询JVM堆内存
  10. Springboot+vue项目旅游管理系统
  11. 计算机软考数据库怎么学,计算机软考数据库系统工程师学习笔记(二)
  12. python:PTA逆转裁判
  13. mysql notifier什么_MySQLNotifier这个东西有什么作用?
  14. 使用region注释,将代码块收(折叠)起来
  15. 磁盘在计算机没显示win10,win10机械硬盘检测不到怎么解决?
  16. 强哥带你零基础学java-03运行第一个java程序
  17. valser网站(计算机视觉CV,CG学习交流社区)
  18. 整理总结:《量化交易——如何建立自己的算法交易事业》
  19. 比较叶绿体基因组提供海草适应性进化新见解
  20. 大数据方向学习系列——hadoop——hdfs学习

热门文章

  1. C++:const的使用(普通常量、指针、引用)
  2. PCL:点云数据基于法线的边界提取(从最初的法线估计理论推导到最终的边界提取)
  3. 【神经网络】(13) ShuffleNetV2 代码复现,网络解析,附Tensorflow完整代码
  4. 一、迁移学习与fine-tuning有什么区别?
  5. 抖音的标题写什么内容_看了这篇文章,我才真正明白什么才是英语速成之路!感恩...
  6. 剑指offer:面试题30. 包含min函数的栈
  7. C4D运动图形基本训练学习教程
  8. 递归/分治:归并排序
  9. linux 文件IO与内存映射:内存映射
  10. github提交代码却没有显示绿格子