myeclipse新建maven多模块web项目

完整资源位置: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把资源添加去

猜你喜欢

转载自blog.csdn.net/dmw412724/article/details/80001126