本文就没有写Maven的搭建了,只写怎么用Maven构建ssm项目
之前我是maven来构建ssm项目的,但卡住了就差一步(用快捷键tomcat:run去启动了,但一直报某某无法转换为javax.servlet.Filter),一直没弄好,然而我请教别人关于如何启动maven问题上,问错了方向,后面心情好的时候,问了一下同学,则启动方式改为了下面的第5点
Maven构建考虑三个问题:
1.Maven结构层次
2.Maven项目配置
3.配置文件版本问题
4.其他的问题
5.这里要说明一下:
Maven项目在tomcat中启动的方式不一样:没有在pom.xml中配置tomcat,但在项目中配置了tomcat,然后在webapp下右击jsp,点击run as--> run on server
1.Maven结构层次
src/main/java
src/main/resources
src/test/java
src/test/resources
2.Maven项目配置
项目配置需要的问题:
2.1结构包(比如:src/main/java)是否完全,没有的话,则要补全;还要改Source中的Output folder的路径为相应的路径
(右键项目--> Build Path--> Configure Build Path-->找到Java Build Path中的Source)
2.2项目中的jdk路径改为自己安装的jdk
2.3项目中的tomcat配好(如果是使用tomcat的话)
3.配置文件版本问题
Dynamic Web Module的版本问题:看web.xml 中的web-app_3_1.xsd 版本
与 选中项目—右键–properties—project facets—Dynamic Web Module 中的版本是否一致???
不一致就把版本改成web.xml中调用的版本或改成 project facets中的版本
--> 如果在project facets中不能直接改版本,则要在eclipse中打开Navigator 找到该项目中的.setting文件夹下的org.eclipse.wst.common.project.facet.core.xml
把 <installed facet="jst.web" version="3.0"/>中的 version改成合适的版本
这两处修改之后,就在项目上右键->Maven->Update Project
--> 如果Update Project后,还没有改变的话,就重启eclipse试试
改好了的话,可以查看这三个地方web.xml、Project Facets、.setting文件夹下的org.eclipse.wst.common.project.facet.core.xml
4.其他的问题
比如:jar包中的版本问题,jar不兼容--> spring、mybatis、mybatis-spring等的jar包版本不兼容
有一篇完美的博客:使用maven快速构建SSM项目
https://blog.youkuaiyun.com/baidu_37107022/article/details/78010343
以下是我遇到的问题及搜索资料:
一、cannot change version of project facet dynamic web module to 2.5
https://blog.youkuaiyun.com/iteye_4839/article/details/82577998
二、eclipse无法创建src/main/java目录,提示The folder is already a source folder.
https://blog.youkuaiyun.com/github_39325328/article/details/81775355
三、mybatis整合spring报java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransacti(jar包版本不兼容问题)
https://blog.youkuaiyun.com/Chen_RuiMin/article/details/88967367
比如:我的ssm项目兼容的jar包版本为:
spring:4.1.6 、mybatis:3.2.0、mybatis-spring:1.1.1
...还有些其他的搜索,我觉得没有必要就没放在这里(每个人的bug不一样,放个大概的问题就ok,其他的问题看错误提示去解决)
干脆放一个ssm的pom.xml配置代码在这:
(大部分jar包截图)

<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>pers.wsf</groupId>
<artifactId>multiBlog</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>multiBlog 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>
<!-- https://mvnrepository.com/artifact/javax/javaee-api -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.aopalliance/com.springsource.org.aopalliance -->
<dependency>
<groupId>org.aopalliance</groupId>
<artifactId>com.springsource.org.aopalliance</artifactId>
<version>1.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/com.springsource.org.apache.commons.logging -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>com.springsource.org.apache.commons.logging</artifactId>
<version>1.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.log4j/com.springsource.org.apache.log4j -->
<dependency>
<groupId>org.apache.log4j</groupId>
<artifactId>com.springsource.org.apache.log4j</artifactId>
<version>1.2.15</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.15</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.hamcrest/hamcrest-all -->
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.5.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.5.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jstl-impl</artifactId>
<version>1.2</version>
<!-- 去除依赖 -->
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- 导入servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.1</version>
</dependency>
<!--引入我们的c3p0 包 -->
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-expression -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.1.6.RELEASE</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-tx -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<finalName>multiBlog</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>enforce</id>
<configuration>
<rules>
<DependencyConvergence />
</rules>
</configuration>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
本文详细介绍了使用Maven构建Spring-SpringMVC-MyBatis(SSM)项目的步骤和注意事项,包括Maven结构配置、项目配置、配置文件版本问题及其他常见问题的解决方案。
751

被折叠的 条评论
为什么被折叠?



