A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

上节课我们一起学习了淘淘商城的架构,这节课我们一起学习如何搭建Maven工程,关于Maven的好处,网上有很多,这里就不啰嗦了。
          Maven常见的打包方式有:jar、war、pom
          pom工程一般都是父工程,管理jar包的版本、maven插件的版本、统一的依赖管理,是一个聚合工程。
          jar工程,很显然就是pom工程的子工程,由pom工程来管理。
          war工程,是web工程,可以直接放到tomcat下运行的工程。
          我们淘淘商城的Maven目录结构如下图所示

          我们使用的开发工具是Eclipse MRS.2版本,大家可以到:http://download.csdn.net/detail/u012453843/9785658进行下载。
          在新建工程之前,我们需要配置一下maven本地仓库,这样做可以加快maven的下载速度。步骤如下:
第一步:配置本地maven镜像
步骤请参考:http://blog.csdn.net/u012453843/article/details/60323543这篇博客进行操作即可。
第二步:点击"Window---->Refrences"

第三步:点击"User Settings(open file)"后面的Browse,选择我们的maven安装包下的settings.xml文件,下面的"Local Repository"会自动显示我们自己创建的maven仓库地址,我们点击"Apply"和"OK"。这就配置好了本地仓库,经过本地镜像的配置,maven的下载速度将会是百倍的提升。

        下面我们开始创建taotao-parent工程。
第一步:点击"File"---->"Maven Project"。

第二步:勾选"Create a simple project(skip archetype selection)"前面的复选框。然后点击"Next"。

第三步:在"Group Id"一栏输入"com.taotao",在"Artifact Id"一栏输入"taotao-parent","packaging"一栏选择pom,pom代表聚合工程,是父工程。

第四步:生成的maven工程如下。

        我们在pom.xml文件统一管理整个淘淘商城项目的j依赖的jar包的版本,pom.xml文件内容如下,<dependencyManagement>只管理版本,不实际依赖。<dependency>才实际依赖。

[html] view plain copy


  • <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>com.taotao</groupId>  
  •   <artifactId>taotao-parent</artifactId>  
  •   <version>0.0.1-SNAPSHOT</version>  
  •   <packaging>pom</packaging>  
  •   <!-- 集中定义依赖版本号 -->  
  •   <properties>  
  •         <junit.version>4.12</junit.version>  
  •         <spring.version>4.2.4.RELEASE</spring.version>  
  •         <mybatis.version>3.2.8</mybatis.version>  
  •         <mybatis.spring.version>1.2.2</mybatis.spring.version>  
  •         <mybatis.paginator.version>1.2.15</mybatis.paginator.version>  
  •         <mysql.version>5.1.32</mysql.version>  
  •         <slf4j.version>1.6.4</slf4j.version>  
  •         <jackson.version>2.4.2</jackson.version>  
  •         <druid.version>1.0.9</druid.version>  
  •         <httpclient.version>4.3.5</httpclient.version>  
  •         <jstl.version>1.2</jstl.version>  
  •         <servlet-api.version>2.5</servlet-api.version>  
  •         <jsp-api.version>2.0</jsp-api.version>  
  •         <joda-time.version>2.5</joda-time.version>  
  •         <commons-lang3.version>3.3.2</commons-lang3.version>  
  •         <commons-io.version>1.3.2</commons-io.version>  
  •         <commons-net.version>3.3</commons-net.version>  
  •         <pagehelper.version>3.4.2-fix</pagehelper.version>  
  •         <jsqlparser.version>0.9.1</jsqlparser.version>  
  •         <commons-fileupload.version>1.3.1</commons-fileupload.version>  
  •         <jedis.version>2.7.2</jedis.version>  
  •         <solrj.version>4.10.3</solrj.version>  
  •         <dubbo.version>2.5.3</dubbo.version>  
  •         <zookeeper.version>3.4.7</zookeeper.version>  
  •         <zkclient.version>0.1</zkclient.version>  
  •         <activemq.version>5.11.2</activemq.version>  
  •         <freemarker.version>2.3.23</freemarker.version>  
  •         <quartz.version>2.2.2</quartz.version>  
  •     </properties>  
  •     <dependencyManagement>  
  •         <dependencies>  
  •             <!-- 时间操作组件 -->  
  •             <dependency>  
  •                 <groupId>joda-time</groupId>  
  •                 <artifactId>joda-time</artifactId>  
  •                 <version>${joda-time.version}</version>  
  •             </dependency>  
  •             <!-- Apache工具组件 -->  
  •             <dependency>  
  •                 <groupId>org.apache.commons</groupId>  
  •                 <artifactId>commons-lang3</artifactId>  
  •                 <version>${commons-lang3.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>org.apache.commons</groupId>  
  •                 <artifactId>commons-io</artifactId>  
  •                 <version>${commons-io.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>commons-net</groupId>  
  •                 <artifactId>commons-net</artifactId>  
  •                 <version>${commons-net.version}</version>  
  •             </dependency>  
  •             <!-- Jackson Json处理工具包 -->  
  •             <dependency>  
  •                 <groupId>com.fasterxml.jackson.core</groupId>  
  •                 <artifactId>jackson-databind</artifactId>  
  •                 <version>${jackson.version}</version>  
  •             </dependency>  
  •             <!-- httpclient -->  
  •             <dependency>  
  •                 <groupId>org.apache.httpcomponents</groupId>  
  •                 <artifactId>httpclient</artifactId>  
  •                 <version>${httpclient.version}</version>  
  •             </dependency>  
  •             <!-- quartz任务调度框架 -->  
  •             <dependency>  
  •                 <groupId>org.quartz-scheduler</groupId>  
  •                 <artifactId>quartz</artifactId>  
  •                 <version>${quartz.version}</version>  
  •             </dependency>  
  •             <!-- 单元测试 -->  
  •             <dependency>  
  •                 <groupId>junit</groupId>  
  •                 <artifactId>junit</artifactId>  
  •                 <version>${junit.version}</version>  
  •                 <scope>test</scope>  
  •             </dependency>  
  •             <!-- 日志处理 -->  
  •             <dependency>  
  •                 <groupId>org.slf4j</groupId>  
  •                 <artifactId>slf4j-log4j12</artifactId>  
  •                 <version>${slf4j.version}</version>  
  •             </dependency>  
  •             <!-- Mybatis -->  
  •             <dependency>  
  •                 <groupId>org.mybatis</groupId>  
  •                 <artifactId>mybatis</artifactId>  
  •                 <version>${mybatis.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>org.mybatis</groupId>  
  •                 <artifactId>mybatis-spring</artifactId>  
  •                 <version>${mybatis.spring.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>com.github.miemiedev</groupId>  
  •                 <artifactId>mybatis-paginator</artifactId>  
  •                 <version>${mybatis.paginator.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>com.github.pagehelper</groupId>  
  •                 <artifactId>pagehelper</artifactId>  
  •                 <version>${pagehelper.version}</version>  
  •             </dependency>  
  •             <!-- MySql -->  
  •             <dependency>  
  •                 <groupId>mysql</groupId>  
  •                 <artifactId>mysql-connector-java</artifactId>  
  •                 <version>${mysql.version}</version>  
  •             </dependency>  
  •             <!-- 连接池 -->  
  •             <dependency>  
  •                 <groupId>com.alibaba</groupId>  
  •                 <artifactId>druid</artifactId>  
  •                 <version>${druid.version}</version>  
  •             </dependency>  
  •             <!-- Spring -->  
  •             <dependency>  
  •                 <groupId>org.springframework</groupId>  
  •                 <artifactId>spring-context</artifactId>  
  •                 <version>${spring.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>org.springframework</groupId>  
  •                 <artifactId>spring-beans</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-jdbc</artifactId>  
  •                 <version>${spring.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>org.springframework</groupId>  
  •                 <artifactId>spring-aspects</artifactId>  
  •                 <version>${spring.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>org.springframework</groupId>  
  •                 <artifactId>spring-jms</artifactId>  
  •                 <version>${spring.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>org.springframework</groupId>  
  •                 <artifactId>spring-context-support</artifactId>  
  •                 <version>${spring.version}</version>  
  •             </dependency>  
  •             <!-- JSP相关 -->  
  •             <dependency>  
  •                 <groupId>jstl</groupId>  
  •                 <artifactId>jstl</artifactId>  
  •                 <version>${jstl.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>javax.servlet</groupId>  
  •                 <artifactId>servlet-api</artifactId>  
  •                 <version>${servlet-api.version}</version>  
  •                 <scope>provided</scope>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>javax.servlet</groupId>  
  •                 <artifactId>jsp-api</artifactId>  
  •                 <version>${jsp-api.version}</version>  
  •                 <scope>provided</scope>  
  •             </dependency>  
  •             <!-- 文件上传组件 -->  
  •             <dependency>  
  •                 <groupId>commons-fileupload</groupId>  
  •                 <artifactId>commons-fileupload</artifactId>  
  •                 <version>${commons-fileupload.version}</version>  
  •             </dependency>  
  •             <!-- Redis客户端 -->  
  •             <dependency>  
  •                 <groupId>redis.clients</groupId>  
  •                 <artifactId>jedis</artifactId>  
  •                 <version>${jedis.version}</version>  
  •             </dependency>  
  •             <!-- solr客户端 -->  
  •             <dependency>  
  •                 <groupId>org.apache.solr</groupId>  
  •                 <artifactId>solr-solrj</artifactId>  
  •                 <version>${solrj.version}</version>  
  •             </dependency>  
  •             <!-- dubbo相关 -->  
  •             <dependency>  
  •                 <groupId>com.alibaba</groupId>  
  •                 <artifactId>dubbo</artifactId>  
  •                 <version>${dubbo.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>org.apache.zookeeper</groupId>  
  •                 <artifactId>zookeeper</artifactId>  
  •                 <version>${zookeeper.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>com.github.sgroschupf</groupId>  
  •                 <artifactId>zkclient</artifactId>  
  •                 <version>${zkclient.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>org.apache.activemq</groupId>  
  •                 <artifactId>activemq-all</artifactId>  
  •                 <version>${activemq.version}</version>  
  •             </dependency>  
  •             <dependency>  
  •                 <groupId>org.freemarker</groupId>  
  •                 <artifactId>freemarker</artifactId>  
  •                 <version>${freemarker.version}</version>  
  •             </dependency>  
  •   
  •         </dependencies>  
  •     </dependencyManagement>  
  •   
  •     <build>  
  •         <finalName>${project.artifactId}</finalName>  
  •         <plugins>  
  •             <!-- 资源文件拷贝插件 -->  
  •             <plugin>  
  •                 <groupId>org.apache.maven.plugins</groupId>  
  •                 <artifactId>maven-resources-plugin</artifactId>  
  •                 <version>2.7</version>  
  •                 <configuration>  
  •                     <encoding>UTF-8</encoding>  
  •                 </configuration>  
  •             </plugin>  
  •             <!-- java编译插件 -->  
  •             <plugin>  
  •                 <groupId>org.apache.maven.plugins</groupId>  
  •                 <artifactId>maven-compiler-plugin</artifactId>  
  •                 <version>3.6.0</version>  
  •                 <configuration>  
  •                     <source>1.8</source>  
  •                     <target>1.8</target>  
  •                     <encoding>UTF-8</encoding>  
  •                 </configuration>  
  •             </plugin>  
  •         </plugins>  
  •         <pluginManagement>  
  •             <plugins>  
  •                 <!-- 配置Tomcat插件 -->  
  •                 <plugin>  
  •                     <groupId>org.apache.tomcat.maven</groupId>  
  •                     <artifactId>tomcat7-maven-plugin</artifactId>  
  •                     <version>2.2</version>  
  •                 </plugin>  
  •             </plugins>  
  •         </pluginManagement>  
  •     </build>  
  • </project>  

      这样,taotao-parent工程我们便建完了。
      下面我们来创建taotao-common工程。
步骤:File---->New---->Maven Project---->勾选"Create a simple project(skip archetype selection)"前面的复选框,点击"Next"便看到下图的对话框,按下图输入框中输入的内容进行填写,注意的是,taotao-common工程是个jar工程,它继承了taotao-parent。但taotao-common并不是一个模块。

       上图点击"Finish"之后便创建了一个空的taotao-common工程,如下图所示,可以看到新建的taotao-common工程的jre的版本默认便是jdk1.8,这是由于我们在taotao-parent工程中定义了JDK的编译版本。

        taotao-parent工程关于jdk编译版本的依赖配置如下:

[html] view plain copy


  • <!-- java编译插件 -->  
  •             <plugin>  
  •                 <groupId>org.apache.maven.plugins</groupId>  
  •                 <artifactId>maven-compiler-plugin</artifactId>  
  •                 <version>3.6.0</version>  
  •                 <configuration>  
  •                     <source>1.8</source>  
  •                     <target>1.8</target>  
  •                     <encoding>UTF-8</encoding>  
  •                 </configuration>  
  •             </plugin>  

         接下来,我们来给taotao-common工程的pom.xml文件添加依赖,common顾名思义,就是大家都会调用的,像公共组件。我们从taotao-parent工程中复制公共组件的依赖到taotao-common的pom.xml文件当中,taotao-common的pom.xml文件的内容如下,由于taotao-parent工程中定义了定义版本号,因此我们在taotao-common工程中不用定义组件的版本了。保存后,maven会自动下载相关依赖。

[html] view plain copy


  • <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>  
  •   <parent>  
  •     <groupId>com.taotao</groupId>  
  •     <artifactId>taotao-parent</artifactId>  
  •     <version>0.0.1-SNAPSHOT</version>  
  •   </parent>  
  •   <groupId>com.taotao</groupId>  
  •   <artifactId>taotao-common</artifactId>  
  •   <version>0.0.1-SNAPSHOT</version>  
  •    
  •   <dependencies>  
  •         <!-- 时间操作组件 -->  
  •         <dependency>  
  •             <groupId>joda-time</groupId>  
  •             <artifactId>joda-time</artifactId>  
  •         </dependency>  
  •         <!-- Apache工具组件 -->  
  •         <dependency>  
  •             <groupId>org.apache.commons</groupId>  
  •             <artifactId>commons-lang3</artifactId>  
  •         </dependency>  
  •         <dependency>  
  •             <groupId>org.apache.commons</groupId>  
  •             <artifactId>commons-io</artifactId>  
  •         </dependency>  
  •         <dependency>  
  •             <groupId>commons-net</groupId>  
  •             <artifactId>commons-net</artifactId>  
  •         </dependency>  
  •         <!-- Jackson Json处理工具包 -->  
  •         <dependency>  
  •             <groupId>com.fasterxml.jackson.core</groupId>  
  •             <artifactId>jackson-databind</artifactId>  
  •         </dependency>  
  •         <!-- httpclient -->  
  •         <dependency>  
  •             <groupId>org.apache.httpcomponents</groupId>  
  •             <artifactId>httpclient</artifactId>  
  •         </dependency>  
  •         <!-- quartz任务调度框架 -->  
  •         <dependency>  
  •             <groupId>org.quartz-scheduler</groupId>  
  •             <artifactId>quartz</artifactId>  
  •         </dependency>  
  •         <!-- 单元测试 -->  
  •         <dependency>  
  •             <groupId>junit</groupId>  
  •             <artifactId>junit</artifactId>  
  •             <scope>test</scope>  
  •         </dependency>  
  •         <!-- 日志处理 -->  
  •         <dependency>  
  •             <groupId>org.slf4j</groupId>  
  •             <artifactId>slf4j-log4j12</artifactId>  
  •         </dependency>  
  •   </dependencies>  
  • </project>  

       下面我们开始创建taotao-manager工程,这个工程是个聚合工程。
步骤:File---->New----->Maven Project------>勾选"Create a simple project(skip archetype selection)"前面的复选框,点击"Next"便看到下图的对话框,按下图输入框中输入的内容进行填写,点击"Finish"。
       建完之后,taotao-manager工程如下,我们在taotao-manager的pom.xml文件中添加对taotao-common的依赖。
          依赖如下:

[html] view plain copy


  • <dependencies>  
  •     <dependency>  
  •         <groupId>com.taotao</groupId>  
  •         <artifactId>taotao-common</artifactId>  
  •         <version>0.0.1-SNAPSHOT</version>  
  •     </dependency>  
  •   </dependencies>  


        下面我们再添加属于该聚合工程的四个模块。
        首先添加dao模块,在taotao-manager工程上右键,在右键菜单New---->Other 。
        在打开的对话框中选择"Maven Module",然后点"Next"。
        勾选"Create a simple project(skip archetype selection)"前面的复选框,在Module Name中输入:taotao-manager-dao然后点击"Next"。
       不用做任何修改,然后点击"Finish"。这样就新建了一个taotao-manager-dao的模块。
       下面新建taotao-manager-pojo模块。
        新建的步骤同上面taotao-manager-dao一样,只是名字改为taotao-manager-pojo就可以了。
        建完taotao-manager-pojo之后,我们打开taoatao-manager-dao模块的pom.xml文件,并在其中添加对taotao-manager-pojo的依赖,另外由于dao层需要Mybatis、Mysql、分页、连接池的包,因此我们在pom.xml文件中添加对这些的依赖。

[html] view plain copy


  • <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>  
  •   <parent>  
  •     <groupId>com.taotao</groupId>  
  •     <artifactId>taotao-manager</artifactId>  
  •     <version>0.0.1-SNAPSHOT</version>  
  •   </parent>  
  •   <artifactId>taotao-manager-dao</artifactId>  
  •   <dependencies>  
  •     <dependency>  
  •         <groupId>com.taotao</groupId>  
  •         <artifactId>taotao-manager-pojo</artifactId>  
  •         <version>0.0.1-SNAPSHOT</version>  
  •     </dependency>  
  •     <!-- Mybatis -->  
  •     <dependency>  
  •         <groupId>org.mybatis</groupId>  
  •         <artifactId>mybatis</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.mybatis</groupId>  
  •         <artifactId>mybatis-spring</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>com.github.miemiedev</groupId>  
  •         <artifactId>mybatis-paginator</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>com.github.pagehelper</groupId>  
  •         <artifactId>pagehelper</artifactId>  
  •     </dependency>  
  •     <!-- MySql -->  
  •     <dependency>  
  •         <groupId>mysql</groupId>  
  •         <artifactId>mysql-connector-java</artifactId>  
  •     </dependency>  
  •     <!-- 连接池 -->  
  •     <dependency>  
  •         <groupId>com.alibaba</groupId>  
  •         <artifactId>druid</artifactId>  
  •     </dependency>  
  •   </dependencies>  
  • </project>  

         添加完taotao-manager-dao模块的maven依赖之后,taotao-manager-dao工程会报感叹号的错误提示,这是由于分页插件pagehelper官网的包有缺陷,因此需要完善一下,完善后的包,我们在taotao-parent的pom.xml文件中添加的pagehelper版本是:<pagehelper.version>3.4.2-fix</pagehelper.version>,从中央仓库是下载不到这个版本的,因此我们需要手动把这个版本放到本地maven仓库下。大家可以到http://download.csdn.net/detail/u012453843/9786164这个地址进行下载。下载完之后,我们解压它并把它放在我们本地maven仓库的相应位置下,如下图所示。我们刷新一下taotao-manager-dao工程的依赖,就不会再报错了。

        下面我们来创建taotao-manager-interface模块,创建步骤跟taotao-manager-dao是一样的,只是名字不同而已。创建完之后,我们修改下它的pom.xml文件,因为接口模块是要用到pojo模块的。如下图所示。(细心的同学可能已经注意到了,在taotao-manager下面的taotao-manager-dao、taotao-manager-manager-interface、taotao-manager-pojo三个工程和目录与taotao-manager同级的三个工程名一样,其实同名的工程是同一个工程,你删掉其中一个,另一个也会跟着消失。)

         上图的依赖如下

[html] view plain copy


  • <dependencies>  
  •     <dependency>  
  •         <groupId>com.taotao</groupId>  
  •         <artifactId>taotao-manager-pojo</artifactId>  
  •         <version>0.0.1-SNAPSHOT</version>  
  •     </dependency>  
  •   </dependencies>  

        最后,我们来创建taotao-manager-service模块,该模块是个war工程,既然taotao-manager工程是个聚合工程,可以聚合无数个模块,但是总归要靠一个war工程来将所有的模块聚合起来,因此我们才需要新建一个war工程,将来用于部署使用。步骤如下:

        在下图对话框中,选择"Maven Module"然后点击"Next"。

    在下图中勾选上"Create a simple project"前面的复选框,在Module Name输入框中输入"taotao-manager-service",然后点击"Next"。

       在下图中,我们在Packaging一栏选择"war",然后点击"Finish"。

        建完taotao-manager-service工程之后,我们会发现这个工程会报错,如下图所示。出现这个问题是因为我们的工程缺少web.xml文件造成的。

        下面我们来创建这个web.xml文件,如下图所示。
       为了方便大家复制,这里把web.xml文件的内容放到这里。

[html] view plain copy


  • <?xml version="1.0" encoding="UTF-8"?>  
  • <web-app version="2.5"   
  • id="WebApp_ID"  
  • xmlns="http://java.sun.com/xml/ns/javaee"  
  • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  • xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
  • http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  • <display-name>taotao-manager</display-name>  
  • <welcome-file-list>  
  •     <welcome-file>index.jsp</welcome-file>  
  • </welcome-file-list>  
  •    
  • </web-app>  

       添加完web.xml文件之后,工程便不报错了,现在我们开始添加service的依赖。我们知道,服务层肯定要调用dao层,因此我们需要依赖taotao-common-dao,除此之外,服务层还要用spring,因此需要添加spring的包。taotao-manager-service的pom.xml文件的内容如下:

[html] view plain copy


  • <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>  
  •   <parent>  
  •     <groupId>com.taotao</groupId>  
  •     <artifactId>taotao-manager</artifactId>  
  •     <version>0.0.1-SNAPSHOT</version>  
  •   </parent>  
  •   <artifactId>taotao-manager-service</artifactId>  
  •   <packaging>war</packaging>  
  •    
  •   <dependencies>  
  •     <dependency>  
  •         <groupId>com.taotao</groupId>  
  •         <artifactId>taotao-manager-dao</artifactId>  
  •         <version>0.0.1-SNAPSHOT</version>  
  •     </dependency>  
  •     <!-- Spring -->  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-context</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-beans</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-webmvc</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-jdbc</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-aspects</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-jms</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-context-support</artifactId>  
  •     </dependency>  
  •   </dependencies>  
  • </project>  

      搭建完了taotao-manager服务工程,下面我们来搭建taotao-manager-web表现层工程。
      步骤如下:File---->New------>Maven Project,然后看到如下图所示对话框。选择"Maven Project",然后点击"Next"。
       勾选"Create a simple project"前面的复选框,然后点击"Next"。
       按下图所示输入内容,打包方式是war,点击"Finish"。

        新建的web工程由于缺少web.xml文件而报错,解决方法是在webapp目录下新建WEB-INF目录,并在该目录下新建web.xml文件。


        web.xml文件的内容如下:
[html] view plain copy


  • <?xml version="1.0" encoding="UTF-8"?>  
  • <web-app version="2.5"   
  • id="WebApp_ID"  
  • xmlns="http://java.sun.com/xml/ns/javaee"  
  • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  • xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  
  • http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  • <display-name>taotao-manager</display-name>  
  • <welcome-file-list>  
  •     <welcome-file>index.jsp</welcome-file>  
  • </welcome-file-list>  
  •    
  • </web-app>  

        下面我们来配置pom.xml文件的依赖,表现层需要spring相关组件,taotao-common,并且需要jsp。pom.xml文件的内容如下:

[html] view plain copy


  • <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>  
  •   <parent>  
  •     <groupId>com.taotao</groupId>  
  •     <artifactId>taotao-parent</artifactId>  
  •     <version>0.0.1-SNAPSHOT</version>  
  •   </parent>  
  •   <groupId>com.taotao</groupId>  
  •   <artifactId>taotao-manager-web</artifactId>  
  •   <version>0.0.1-SNAPSHOT</version>  
  •   <packaging>war</packaging>  
  •    
  •   <dependencies>  
  •     <!-- 依赖taotao-common -->  
  •     <dependency>  
  •         <groupId>com.taotao</groupId>  
  •         <artifactId>taotao-common</artifactId>  
  •         <version>0.0.1-SNAPSHOT</version>  
  •     </dependency>  
  •     <!-- Spring -->  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-context</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-beans</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-webmvc</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-jdbc</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-aspects</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-jms</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>org.springframework</groupId>  
  •         <artifactId>spring-context-support</artifactId>  
  •     </dependency>  
  •     <!-- JSP相关 -->  
  •     <dependency>  
  •         <groupId>jstl</groupId>  
  •         <artifactId>jstl</artifactId>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>javax.servlet</groupId>  
  •         <artifactId>servlet-api</artifactId>  
  •         <scope>provided</scope>  
  •     </dependency>  
  •     <dependency>  
  •         <groupId>javax.servlet</groupId>  
  •         <artifactId>jsp-api</artifactId>  
  •         <scope>provided</scope>  
  •     </dependency>  
  •   </dependencies>  
  • </project>   


        到这里,我们便把所有的maven工程创建完了。

2 个回复

正序浏览
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马