您的位置:首页 > 编程语言 > Java开发

(菜鸟来动手)SpringMVC+Spring+Mybatis整合(第二天) 使用maven来构建项目

2014-11-30 21:39 811 查看
本来打算先不使用maven的,但是在去spring官网找jar包的时候,发现没有直接下载的了.

其实可以直接去别的地方下载所需的jar包,但是主要是想从官网得到,结果未能如愿.后来找到一个地址 http://repo.spring.io/libs-release-local/org/springframework/
这里可以下载jar包(没找到入口,只能直接输入网址),但是这里面貌似也只是一部分,有些没有jar文件.所以最后还是使用maven来做了.

今天主要做了以下几件事.

1.maven 下载安装

2.eclipse中 maven插件安装

3.在eclipse中新建一个maven项目

4.在将第3步构建的项目,转换为能在eclipse里面的tomcat部署调试的web项目.

下面就一步一步来做.

1.maven下载安装

找到maven官网 http://maven.apache.org/ , 首页就有 Use Maven 这些链接,点进去,就有教程. 虽然是英文的,但是用软件翻译一下,意思还都明白. 如果对英语实在心虚,可以找点中文的教程先看看,再去官网对照下.官网上还带了个HelloWorld的例子,运行成功.就算OK了.

这里有点注意的就是完事后要修改下D:\apache-maven-3.2.3\conf 下的settings.xml , 在里面设置自己的本地仓库地址

<localRepository>D:\apache-maven-3.2.3\repository</localRepository>(找到xml中被注释掉的localRepository说明,这个位置添加就可以)

2.eclipse中maven插件安装

这一步折腾了好久.我使用的eclipse版本是 Version: Indigo Service Release 2,(这个是在eclipse中HELP-About Eclipse中看的, 也可以到 eclipse安装目录下,readme文件夹中的 readme_eclipse.html 查看详细信息,例如我的就会显示 Release
3.7.2,Last revised Feb 7, 2012)

网上关于eclipse安装maven插件的例子很多,但是我试了都不成功.

1). 使用eclipse marketplace 安装, 这个功能好像是eclipse3.5以后提供的,类似一个AppStore,但是我通过这个搜索 maven,m2e,maven integration for eclipse 等关键字去搜索,然后安装都会报错, 报错信息基本都是 缺少某个jar包.

2).使用install new software 安装, 这个网上给的连接都是 http://download.eclipse.org/technology/m2e/releases ,但是这个链接是有问题的, 因为我去做的时候,默认带出的是 1.5版本的,如图



我的eclipse版本+上上面的插件版本,安装报错,也是说缺少jar包什么的,

怎么办呢? 我们从 maven官网入手.如下图



点击图中连接,会带我们来到eclipse的官网....如下图



我们发现这里给出的地址,就是上面的地址.... 这个地址不行,怎么办? 看图中右下角标红的地方,点击. 这样就带你来到了 m2e插件历史版本的页面. http://www.eclipse.org/m2e/m2e-downloads.html ,这这里找个别的版本试试.我试了1.4还是不行,就直接试1.2了, 然后1.2就安装成功了. (安装方法就是 2) 中的方法,只是地址换一下)

插件安装成功以后,需要改2个地方

1).window-preferences-maven-user settings,里面的settings.xml,使用我们本地的xml,然后点击updateSettings,如下图:



2).window-preferences-maven- installations,里面add你刚才安装的maven,如下图:



3.在eclipse中新建一个maven项目

file-new-other-maven project-next-,然后选择 maven-archetype-webapp,如下图:



next-groupid随便写,artifactid 随便写,version 默认,package不写也行.finish.完成后结构如下图:



这时候,手动在src.main下面增加个java目录就OK了.注意是source folder ,不是普通的文件夹

这里要说一下,我新建maven 项目的时候,前几次都没有成功.每次去手动新增source folder的时候,就报错,提示,Project is not a Java project ,搞的莫名其妙,

项目前面的图标,也确实没有J那个标识, 后来又新建了几个还是不行, 然后又新建了一个,groupid写是 org.sky.ssm , 突然就好了, 然后我有随便建了几个都正常了. 不知道是不是因为第一次建maven project后台有什么东西需要异步处理,前台没等处理完就去操作,就不行了.

建完以后,将第一天的java代码,全copy到src/main/java 下面, 将 第一天的webContent下面(除了web-inf里面的lib)全copy到src/webapp下面.然后应该就会报错了,找不到servlet-api这些jar包了. 在pom.xml中,把这2个jar包加上,注意scope要配置成 provided,这样打包的时候就不打了.

<span style="white-space:pre">	</span><dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>


我们还用到了一个jar包,就是oracle的驱动程序,这个jar包我们本地就有,不想再从网上下载,怎么办呢? 2种解决办法.
1). 在pom.xml中,直接使用${project.basedir}/lib/classes12.jar 这样的配置引入本地jar (不推荐)

2). 将jar包加入到maven本地仓库(推荐)

加入方式如下 ,cmd中执行命令

mvn install:install-file -Dfile=D:\apache-maven-3.2.3\localLib\classes12.jar -DgroupId=com.oracle -DartifactId=classes12 -Dversion=10.2.0.2.0 -Dpackaging=jar

里面的参数,Dfile是本地jar的路径, DgroupId,DartifactId,Dversion 可以从http://mvnrepository.com/
这里查询到,如下图:



然后点击标红的地方,进去以后,选择对应的版本号,就可以看到上面3个属性的信息了.如下图:



上面处理完以后,就可以运行了.在pom.xml上右键,run as -maven-buid (有好几个选项,我选的第一个maven-build),然后弹出下图的窗口:



运行后,控制台正常应该就会打印 BUILD SUCCESS了. 然后我们去 target目录看看, 发现没有生成网上说的war包. 哎,童话里都是骗人的哇.

不过还好,网上还是有正确答案的. 网上有个说的,在上图中 Goals填写maven命令"clean install"(无需引号), 运行就可以了.试验证明确实是可以的.

关于pom.xml里面run as 的几个选项的作用,可以另行百度下. 如果直接执行 run as install ,貌似也会直接生产war包.

OK,这时候,把这个war包拿到tomcat的webapps下面,启动tomcat,就能访问了.

4.在将第3步构建的项目,转换为能在eclipse里面的tomcat部署调试的web项目.

右键Project-properties-Project
Facets->Convert to Faceted from. 如下图:



然后勾选 Dynamic web module 和 java 2个选项.(Dynamic web module后面的版本对应不同的tomcat版本,我这里调整为2.5,如果这里不能调整,可以到workspace-projectname-.settings-org.eclipse.wst.common.project.facet.core
中手动修改.) 如下图:



OK.转换完成后,就开始去设置jar包这些东西了.

右键Project-properties-java build path ,Order
and Export这个Tab,然后把Maven Dependencies给勾选上,按确定.

右键Project-properties-deployment
assembly,然后 add-java build path entries,选择刚才的
Maven Dependencies(这个不设置,会导致tomcat不知道这些jar包的存在);

右键Project-properties-deployment assembly, 然后 add-folder-选择src下webapp文件夹.如下图(如果这个目录不设置,会导致tomcat不知道这些文件的存在);



OK.这些设置完成,在eclipse里面新建一个tomcat的server,把这个项目部署上.run起来.....

(要把pom.xml中的jsp-api和servlet-api 2个jar配置给删掉,否则就算scope是provided,也会一起发布到web-inf下的lib文件夹中,和tomcat本身的造成jar包冲突).

今天的任务结束. 感触颇多.

感触最多的就是百度的东西太不靠谱了,大部分都是一样的,而且很多都是过时的, 像eclipse中maven插件的安装,当时都想再搞不定,就直接下个最新版的eclipse了,里面说直接集成的有maven插件.

像springmvc的jar包官网怎么下载? springmvc被整合到springwebflow了,是不是没有单独jar了? 这些疑问都找不到答案啊.

另外就是很多东西还不是很懂,慢慢学习.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐