完整资源位置:https://download.csdn.net/download/dmw412724/10361959
1.构建父级项目
这里有个问题,maven默认的java是1.5的,它的子模块什么的都是1.5,以后updateProject也会还原成1.5,很恶心,所以要在父级模块里添加1.8
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>community</groupId>
<artifactId>community-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
2.创建子级项目
一路next即可.然后结果是
可以看到父级模块下多了一个子级模块 community-common
我们再创建一个子级模块 叫 community-service
现在 整个项目长这样
3.现在让community-service里面可以访问community-common里面的资源
community-common里新建个类
package org.community.common;
/**
* Hello world!
*
*/
public class CommonUtil
{
public static void SayHello()
{
System.out.println( "Hello World!" );
}
}
那么现在在community-service里面是无法调用的.
需要在community-service里的pom文件里添加以下依赖
<dependencies>
<dependency>
<groupId>maventest-common</groupId>
<artifactId>maventest-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
这时候,我们在community-service里面调用上面的那个CommonUtil就可以直接使用的.
但这个功能不局限于此.而是把community-comon的pom.xml里的jar包也都引入了过来.
我们修改下community-comon的pom.xml,加入ssm的一些包
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spring.version>4.0.5.RELEASE</spring.version>
<!-- mybatis版本号 -->
<mybatis.version>3.2.6</mybatis.version>
<!-- log4j日志文件管理包版本 -->
<slf4j.version>1.7.7</slf4j.version>
<log4j.version>1.2.17</log4j.version>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- spring核心包 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</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>
<!-- 日志文件管理包 -->
<!-- log start -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- log end -->
</dependencies>
等待依赖包下载好,我们再去community-service里面去调用spring的方法,发现是可以的,也引入了这些资源
4.创建一个具有web功能的子模块
先建一个community-web-back 就是网站后台的这个模块,点开pom.xml,把jar改成war
然后再右键该模块-peroperties-projectFacts
这时候我们就会发现项目已经变成了web项目.
这时候的错误是因为WebRoot里面的那个jsp需要javaEE的servlet包,而我们现在没有.加入即可
但是webRoot这个文件夹不符合maven的约定.所以,我们把webroot里面的文件复制到src/main下新建文件夹webapp,然后复制一个web.xml到里面
如果pom.xml会报错,多半是因为少了web.xml或者在properties标签里添加这个webVersion
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<webVersion>3.1</webVersion>
</properties>
接着引入那个community-common的依赖.
5.applictionContext-spring.xml等配置文件的依赖
那么关于web启动的一些配置文件呢?我们也放到community-common里面
新建个/src/main/config
把一些资源塞进去
然后在community-web-back子模块里的Pom.xml里引入
<build>
<resources>
<resource>
<directory>../community-common/src/main/config</directory>
<includes>
<include>*</include>
</includes>
<targetPath>.</targetPath>
</resource>
</resources>
</build>
这个时候就ok了.配置好你的xml.然后在community-web-back里写个testController.我们接着启动项目
6.启动web项目
按正常Tomcat把这个community-web-back放进去就行了.就启动成功了可以访问.但是如果不注意,会有几个个常见错误.
一个是:
Failed to start component .这个建议重新下载jar包,有的jar包可能错误,或者版本冲突
一个是:
org.springframework.core.io.Resource 这个是根本没有载入进去. 右键-properties-builder path把资源添加去