首先要知道什么是maven,为什么要用maven。
一个项目里会有很多功能,需要很多jar包,通常情况要自己去找包,并且jar包也会存在不同版本之间的冲突问题,给开发带来很大的麻烦,
所以maven工具一个重要的功能就是帮助我们管理jar包。而对于初学者来说,最重要的就是学会怎么用maven给项目导入jar包。
导完jar包配置springmvc的开发环境,这就是一个基于maven工具的一个springmvc+mybatis项目。
1. 建立一个maven项目
ctrl+n——maven project——next——next—— Artifact Id选择maven-archetype-webapp——next——Group Id填包名,Artifact Id填项目名——finish
建完项目后先右击项目——Properties—— Resource,在右侧text file encoding 中选择other——UTF-8
左侧找到Java Build Path,K可能会有两个错误,只要按照显示的地址对应的创建Source Folder就可以了,例如:
src/main/java
src/test/java
创建这两个文件夹
左侧找到Project facets,右侧面板将java改为你当前的jdk版本,将Dynamic Web Module 改为3.0。(若3.0改不了,可以直接修改文件org.eclipse.wst.common.project.facet.core.xml,在navigator模式下.setting文件夹)
建完项目后项目会因为缺少jar包而报错,需要导入jar包。
首先,我们先导入spring的jar包
打开pom.xml文件,该文件可以理解为配置项目的jar包信息,需要什么样的jar包,就将jar包的信息以一定的格式写进去就可以了,例:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
http://search.maven.org/或http://maven.oschina.net/home.html或http://mvnrepository.com等网站可以查找。
1、导入spring的核心包,搜spring-core
2、导入springmvc包,搜spring-webmvc
3、导入mybatis包,搜mybatis
4、导入spring和mybatiis整合包,搜spring-mybatis
5、导入oracle(或者mysql等数据库)jdbc包,搜ojdbc
6、导入数据库连接池包,搜commons-dbcp
7、导入文件上传包,搜commons-fileupload
8、导入servlet包,搜servlet
9、导入日志包,搜log4g
10、导入junit包,搜junit
11、导入json包,搜jackson-core-asl和jackson-mapper-asl
这里有一些注意事项,首先springmvc的jar包版本最好不要超过spring-core包,并且将spring-webmvc信息和spring-core的信息放在一起,且spring-core靠前,否则会时不时会出现一些奇怪的问题。。。
然后将springmvc和mybatis整合的配置文件放在src/main/resources下,这个文件夹是专门用来放配置文件的。java文件放在src/main/java下面,jsp等前端文件放在src/main/webapp下面。至于配置文件的内容,java类的编写规则,jsp文件的访问规则,web.xml的内容和普通springmvc+mybatis项目整合是一模一样的。
在启动方面有些微小的区别,当准备启动项目的时候,普通web项目是由eclipse自动编译好的,但是maven项目是需要手动编译,具体操作如下:右击项目名——Run as——Maven install,待运行完毕,便可以像往常一样启动项目了。
下载贴上pom.xml的内容
<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>tdcq</groupId>
<artifactId>mavenDemo</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mavenDemo Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- spring核心 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.0.RELEASE</version>
</dependency>
<!-- springmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!-- spring和mybatis整合 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.1</version>
</dependency>
<!-- 处理json -->
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<!-- 数据库连接池 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.2</version>
</dependency>
<!-- 文件上传 -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.2.2</version>
</dependency>
<!-- oracle驱动 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.4.0</version>
</dependency>
<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- 日志 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<finalName>mavenDemo</finalName>
</build>
</project>
demo下载:http://download.youkuaiyun.com/detail/feiepuhuo001/9488065
代码纯手敲,欢迎指正问题,转载注明出处。