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>attendance</groupId>
<artifactId>attendance</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>attendance Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2-pbruski-7</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.0.6.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.orm</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.aop</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-hibernate2</artifactId>
<version>4.0.6.RELEASE-atlassian-1</version>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.5.ga</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>4.3.8.Final</version>
</dependency>
<dependency>
<groupId>com.mysql.jdbc</groupId>
<artifactId>com.springsource.com.mysql.jdbc</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.19</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>3.1.1.RELEASE</version>
</dependency>
</dependencies>
<build>
<finalName>attendance</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.0.0</version>
<configuration>
<scanIntervalSeconds>5</scanIntervalSeconds>
</configuration>
</plugin>
</plugins>
</build>
</project>
其中spring-context-support.jar包用于freemarker和spring整合;在进行配置
<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF"/>
<property name="freemarkerSettings">
<props>
<prop key="template_update_delay">0</prop>
<prop key="defaultEncoding">GBK</prop>
<prop key="url_escaping_charset">GBK</prop>
<prop key="locale">zh_CN</prop>
<prop key="boolean_format">true,false</prop>
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
<prop key="date_format">yyyy-MM-dd</prop>
<prop key="time_format">HH:mm:ss</prop>
<prop key="number_format">0.######</prop>
<prop key="whitespace_stripping">true</prop>
<prop key="auto_import">/tpl/spring.ftl as s</prop>
</props>
</property>
</bean>
时,如果没有导入spring-context-support包,将无法进行templateLoaderPath的配置和freemarkerSettings的配置
异常处理:
Java compiler level does not match the version of the installed Java project facet.
处理方式:
1、项目右键->Preferences->buildpath->jdk;
2、.项目右键->Preferences->javacompiler->jdk版本;
3、项目右键->Preferences->ProjectFacets->jdk版本
下面我将用图文一步步讲解如果进行搭建一个springmvc+hibernate+freemarker工程
1、新建工程;选择"Maven Project" 新建一下maven工程;
2、选择工程所用的表空间;“Use default Workspace location” 可进行修改;
3、选择要创建的工程并选择下一步;我这里创建的是一个web工程,因此需要选择“maven-archetype-webapp”;如果一个项目需要多个人进行开发;因此需要创建site工程;这个工程允许多个工程组合形成一个工程;
4、输入要创建的工程名称及工程标识;group id为工程标识,maven通过group id检索相关项目;artifact id为工程名称;version 为版本号;pageage 为包名
注:如果点击完成出现 这个错误信息,表示工程已经存在;需要修改工程名;
5、工程创建完成后,目录结构如下;并有一个错误;错误信息为:The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path;这个错误表示系统没有引用servlet包;因此无法正常编译index.jsp;因此我们需要进行第 六步操作;
6、打开pom.xml文件;会出现如下图所示的maven工程的基本信息
在最下面的选项卡中选择Dependencies选项卡;出现下图:
点击左边栏目中的“add”按钮;并在“Enter groupId ,artifactId or sha1 prefix or pattern(*);后面的选项卡中;输入servlet-api; maven即搜索servlet-api相关的jar包;选择对应的jar包点击OK即可;保存pom.xml后,错误即取消。
7、搭建springmvc工程需要引入spring相关的包;其他包的导入方式和servlet-api包的引入方式相同;
我这里分别引入了 spring-webmvc、c3p0、spring-tx、commons-logging、springframework.orm、springframework.aop、spring-hibernate2、dom4j、hibernate、hibernate-c3p0、commons-lang、slf4j-api、freemarker、spring-context-support