第一个使用Spring Tool Suite(STS)和Maven建立的Spring mvc 项目
一、目标
在这篇文章中。我将要向您展示怎样使用Spring Frameworks 和 Maven build创建您的第一个J2ee 应用程序。
二、信息
Maven是一个java项目的构建工具(或者自己主动构建工具)。它与Ant或Gradle非常想。Maven能够自己主动下载您项目中依赖的组件。
三、要求
1、应用于Java EE 的Spring Tool Suite(STS) (http://spring.io/tools/sts/all).
请选择与您的操作系统相应的安装文件。
我比較喜欢下载具有可移植性的打包版本号。
2、网络连接
对于第一次创建Spring Mvc 项目来说,须要电脑联网,由于您须要从Spring repository中下载一些项目模板。
Maven也须要下载一些Spring依赖项。
所以确认您的电脑是否联网了。假设您处在代理上网的环境中,请參考此教程。
四、配置介绍
1、打开您的STS,并选择 New->Spring Project。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGh4MjAwMjI4ODk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
2、为您的项目命名(比如:HelloSpringMVC)并选择 Spring MVC Project模板。
3、STS将要下载对应的模板。
4、为您的顶级包命名(比如:org.munif.app)并点击Finish。
5、观察您的项目结构,您的项目里会产生莫名其妙的错误。那就对了。由于我们还没有使用Maven加入Spring 的依赖项。
6、右键点击您的Spring Mvc项目,选择Run Sa ->Maven install。观察输出控制台窗体,看是否有安装进度。安装完毕之后,您才干继续下一步操作。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGh4MjAwMjI4ODk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
7、右键点击您的Spring MVC项目。选择Maven -> Update Project。
8、选择您的项目并点击OK,一直等到更新过程完毕。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGh4MjAwMjI4ODk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
看没有错误了。
9、执行您的项目,右键点击项目目录并选择Run As -> Run on Server.
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGh4MjAwMjI4ODk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
10、选择您的J2EE 服务“VMware vFabrics tc Server is provided by STS.”,假设您想使用独立执行的 Apache Tomat。请做对应的配置。
11、完毕。您的项目应该能够在 Eclipse内嵌的网络浏览器中展现了。
五、常见问题
1、问题#1
Build workspace error … couldn’t find build plan …
原因:您的Maven依赖项没有下载完毕或不可用。
解决的方法:
a、确定您的电脑能够联网。
b、右键点击您的Spring MVC项目,选择 Run As -> Maven install。观察输出文本窗体。看安装进度。
等到安装完毕后,您才干够继续下一步。
c、右键点击您的Spring MVC项目,选择Maven -> Update Project。
2、问题#2
You are behind a proxy
原因:您的网络环境是代理上网。
解决方式:
a、在您的setting.xml文件里加入代理配置。
在进入Preference。把此文件设置成Maven settings文件.(不知何故,settings.xml默认是不创建的。所以您须要自己创建此文件。)
|
<settingsxmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <proxies> <proxy> <id>myproxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.somewhere.com</host> <port>8080</port> <username>proxyuser</username> <password>somepassword</password> <nonProxyHosts>*.google.com|ibiblio.org</nonProxyHosts> </proxy> </proxies> </settings> |
b、右键点击您的Spring MVC项目,选择Run As -> Maven ->Maven install。观察输出控制台窗体,确保安装进度完毕。
c、右键点击您的Spring MVC项目,选择Maven -> Update Project。
3、问题#3
Can not find the tag library descriptor for “http://java.sun.com/jsp/jstl/core”
通常,此发生错误在Jsp文件里。请參考: http://stackoverflow.com/questions/15434817/can-not-find-the-tag-library-descriptor-for-http-java-sun-com-jsp-jstl-core.
之后。您能够使用Maven install 和 update Project更新项目。
4、问题#4
当您执行Maven install时。又是会有例如以下错误:
[ERROR] ... very long error ...: invalid LOC header (bad signature).
原因:这表明非常可能是有一些依赖项的二进制文件破坏。
解决方式:
删除“.m2/repository”,然后执行Maven install 又一次下载依赖项repository。
5、问题#5
[ERROR] ... very long errors...: UnresolvedAddressException
原因:
a、假设您在settings.xml文件里使用域名形式的代理(比如:proxy.its.ac.id),它的意思是您的DNS不能解析此域名地址。
b、假设您直接连接网络,可是您仍然在settings.xml中使用代理配置。
解决方式:
A、若是第一种情况,在settings.xml文件里使用IP地址代理取代域名。
B、假设直接联网。删除settings.xml文件里的代理配置。
最后,希望此教程能帮助您使用STS做好Spring mvc开发。
六、參考文献
[1] http://www.mkyong.com/web-development/how-to-configure-proxy-settings-in-eclipse/
[2] http://maven.apache.org/settings.html
[3] http://stackoverflow.com/questions/13044628/spring-error-during-build
英文原文:http://abdulmuneverlose.wordpress.com/2013/12/19/first-spring-mvc-project-using-spring-tool-suite-sts-and-maven-build/
第一个使用Spring Tool Suite(STS)和Maven建立的Spring mvc 项目的更多相关文章
- Eclipse 下Spring cloud项目集成开发插件Spring Tool Suite (STS) 安装
安装eclipse插件 Help->Eclipse Marketplace-> Search中查找"Spring Tool Suite (STS) for Eclipse&quo ...
- Eclips安装STS(Spring Tool Suite (STS) for Eclipse)插件
Spring Tool Suite(sts)就是一个基于Eclipse的开发环境, 用于开发Spring应用程序.它提供了一个现成的使用环境来实现, 调试, 运行, 和部署你的Spring应用程序.包 ...
- 使用spring tool suite(STS)工具创建spring boot项目和出现错误后的处理
一.先下载配置maven环境 1.下载地址:http://maven.apache.org/download.cgi windows下下载zip文件 2.解压后放到某个文件目录下 3.配置环境变量 ( ...
- Spring Tool Suite(STS)安装
Spring Tool Suite是一个基于Eclipse的开发环境,可以自定义用于开发Spring应用程序.它提供了一个随时可用的环境来实现,调试,运行和部署Spring应用程序,包括Pivotal ...
- spring tool suite (sts) 创建springmvc(没有实践)
摘自:STS(Spring Tool Suite)建立默认的spring mvc项目 老外的原创,网址:http://www.codejava.NET/frameworks/spring/spring ...
- Spring Tool Suite 创建 SpringMVC+Maven 项目(一)!
使用Spring Tool Suite 创建 SpringMVC Web 项目,使用Maven来管理依赖! 首先对环境进行必要的配置 1. 配置必要的Java JDK版本! (菜单栏-窗口-首选项.) ...
- Eclipse 安装spring插件spring tool suite(STS)
安装方法有2种,一种是在线安装,比较方便,但耗时较长,一种是离线安装,步骤复杂一些,但耗时少,下面请看详细步骤. 方法一:在线安装 1:打开eclipse菜单Help>Eclise Ma ...
- Spring Tool Suite(STS)加速
Java开发首选技术是Spring,使用Spring技术首选的开发工具是STS,STS有许多加速spring开发的提示和快捷方式,并将spring的最新技术通过STS快速简单的传递给用户. 但是STS ...
- Spring Tool Suite (STS) 安装SVN插件
今天STS安装SVN时遇到很多问题,度娘搜索几个小时才安装成功. 在此记录下安装过程. 我的 STS版本: 安装SVN有两种方式: 方法1:依次选择help->preferences->e ...
随机推荐
- Python: PS 图层混合算法汇总
本文用 Python 实现了PS 中的图层混合算法,把很多常见的图层混合算法都汇总到了一起,比起以前写的算法,就是用矩阵运算代替了很耗时的for 循环,运行效率有所提升.具体的代码如下: import ...
- 使用js实现简单放大镜的效果
实现原理:使用2个div,里面分别放大图片和小图片,在小图片上应该还有一个遮罩层,通过定位遮罩层的位置来定位大图片的相对位置,而且,遮罩层的移动应该和大图片的移动方向相反 关键: 大图片和小图片大小比 ...
- PHP读取txt文件到数据库
<?PHP$txt=$C->SITE_URL.'images/my.txt';$row = file($txt); //读出文件中内容到一个数组当中 $num=0;//统计表中的记录数 f ...
- CSUOJ 1531 Jewelry Exhibition
Problem G Jewelry Exhibition To guard the art jewelry exhibition at night, the security agency has d ...
- codeforces 543 C Remembering Strings
题意:若一个字符串集合里的每一个字符串都至少有一个字符满足在i位上,仅仅有它有,那么这个就是合法的,给出全部串的每一个字符修改的花费,求变成合法的最小代价. 做法:dp[i][j].前i个串的状态为j ...
- CCNA Cloud CLDFND 210-451 QUIZ: Server Virtualization
Author:海峰 http://weibo.com/344736086 http://yanheven.github.io/ http://blog.csdn.net/yanheven1 1.Whi ...
- 解决QML开发中ComboBox中一个已选择项没有清除的问题
解决QML开发中ComboBox中一个已选择项没有清除的问题 近期使用QML开发一个项目.须要使用ComboBox进行显示.当进行一个操作时,须要向ComboBox加入一个元素,当进行另外一个操作时. ...
- 关于HashMap
总是觉得对HashMap很熟悉,但最近连续被问到几个关于它的问题,才发现它其实并不简单.这里对关于它的一些问题做个总结,也希望能够大家一个参考. 都知道它是基于hash值,可以进行常量时间消化的存储结 ...
- Typedef和#define之间的区别
Typedef和define都可以用来给对象取一个别名,但是两者却有着很大不同. 1. 首先,二者执行时间不同 关键字typedef在编译阶段有效,由于是在编译阶段,因此typedef有类型检查的功能 ...
- 洛谷 P2105 K皇后
P2105 K皇后 题目描述 小Z最近捡到了一个棋盘,他想在棋盘上摆放K个皇后.他想知道在他摆完这K个皇后之后,棋盘上还有多少了格子是不会被攻击到的. (Ps:一个皇后会攻击到这个皇后所在的那一行,那 ...