好好编程-物流项目01【搭建maven工程】

文章目录

  • Maven项目搭建
    • 目录结构
    • 依赖关系图
    • logistics-parent
      • 1.创建项目
      • 2.定义依赖的版本
    • logistics-common
      • 1.创建项目
      • 2.配置依赖
    • logistics-manager
      • 1.创建项目
      • 2.添加依赖
    • 四个模块
      • 1.logistics-manager-pojo
        • 1.1创建项目
        • 1.2依赖设置
      • 2.logistics-manager-dao
        • 2.1创建项目
        • 2.2设置依赖
      • 3.logistics-manager-service
        • 3.1创建项目
        • 3.2设置依赖
      • 4.logistics-manager-web
        • 4.1创建项目
        • 4.2设置依赖

  本文开始通过一个简单的物流项目来将前面的讲的SSM框架内容整合练习下。

Maven项目搭建

  本项目采用maven聚合的方式搭建,如果对maven不是太熟悉请先复习下maven的内容.地址如下:


maven专栏


目录结构

logistics-parent:父工程,打包方式pom,管理jar包的版本
	|        项目中所有的工程都应该继承父工程
	|--logistics-common:通用的工具类 打包方式jar
	|--logistics-manager:服务工程。聚合工程 Pom工程
		|--logistics-manager-pojo:打包方式jar
		|--logistics-manager-dao:打包方式jar
		|--logistics-manager-service:打包方式jar
		|--logistics-manager-web:打包方式war

依赖关系图

好好编程-物流项目01【搭建maven工程】_第1张图片

logistics-parent

1.创建项目

  开始创建logistics-parent工程,
好好编程-物流项目01【搭建maven工程】_第2张图片好好编程-物流项目01【搭建maven工程】_第3张图片好好编程-物流项目01【搭建maven工程】_第4张图片
好好编程-物流项目01【搭建maven工程】_第5张图片
好好编程-物流项目01【搭建maven工程】_第6张图片
好好编程-物流项目01【搭建maven工程】_第7张图片
好好编程-物流项目01【搭建maven工程】_第8张图片
创建成功
好好编程-物流项目01【搭建maven工程】_第9张图片

2.定义依赖的版本

  我们在pom.xml文件统一管理整个项目的j依赖的jar包的版本,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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0modelVersion>
	<groupId>com.bobogroupId>
	<artifactId>logistics-parentartifactId>
	<version>0.0.1-SNAPSHOTversion>
	<packaging>pompackaging>
	
	<properties>
		<junit.version>4.12junit.version>
		<spring.version>4.3.3.RELEASEspring.version>
		<mybatis.version>3.2.8mybatis.version>
		<mybatis.spring.version>1.2.2mybatis.spring.version>
		<mybatis.paginator.version>1.2.15mybatis.paginator.version>
		<mysql.version>5.1.32mysql.version>
		<slf4j.version>1.6.4slf4j.version>
		<jackson.version>2.4.2jackson.version>
		<druid.version>1.0.9druid.version>
		<httpclient.version>4.3.5httpclient.version>
		<jstl.version>1.2jstl.version>
		<servlet-api.version>2.5servlet-api.version>
		<jsp-api.version>2.0jsp-api.version>
		<joda-time.version>2.5joda-time.version>
		<commons-lang3.version>3.3.2commons-lang3.version>
		<commons-io.version>1.3.2commons-io.version>
		<commons-net.version>3.3commons-net.version>
		<pagehelper.version>4.1.6pagehelper.version>
		<jsqlparser.version>0.9.1jsqlparser.version>
		<commons-fileupload.version>1.3.1commons-fileupload.version>
		<jedis.version>2.7.2jedis.version>
		<solrj.version>4.10.3solrj.version>
		<dubbo.version>2.5.3dubbo.version>
		<zookeeper.version>3.4.7zookeeper.version>
		<zkclient.version>0.1zkclient.version>
		<activemq.version>5.11.2activemq.version>
		<freemarker.version>2.3.23freemarker.version>
		<quartz.version>2.2.2quartz.version>
		<shiro-spring.version>1.2.3shiro-spring.version>
		<shiro-ehcache.version>1.2.3shiro-ehcache.version>
	properties>
	<dependencyManagement>
		<dependencies>
			
			<dependency>
				<groupId>joda-timegroupId>
				<artifactId>joda-timeartifactId>
				<version>${joda-time.version}version>
			dependency>
			
			<dependency>
				<groupId>org.apache.commonsgroupId>
				<artifactId>commons-lang3artifactId>
				<version>${commons-lang3.version}version>
			dependency>
			<dependency>
				<groupId>org.apache.commonsgroupId>
				<artifactId>commons-ioartifactId>
				<version>${commons-io.version}version>
			dependency>
			<dependency>
				<groupId>commons-netgroupId>
				<artifactId>commons-netartifactId>
				<version>${commons-net.version}version>
			dependency>
			
			<dependency>
				<groupId>com.fasterxml.jackson.coregroupId>
				<artifactId>jackson-databindartifactId>
				<version>${jackson.version}version>
			dependency>

			
			<dependency>
				<groupId>junitgroupId>
				<artifactId>junitartifactId>
				<version>${junit.version}version>
				<scope>testscope>
			dependency>
			
			<dependency>
				<groupId>org.slf4jgroupId>
				<artifactId>slf4j-log4j12artifactId>
				<version>${slf4j.version}version>
			dependency>
			
			<dependency>
				<groupId>org.mybatisgroupId>
				<artifactId>mybatisartifactId>
				<version>${mybatis.version}version>
			dependency>
			<dependency>
				<groupId>org.mybatisgroupId>
				<artifactId>mybatis-springartifactId>
				<version>${mybatis.spring.version}version>
			dependency>
			<dependency>
				<groupId>com.github.miemiedevgroupId>
				<artifactId>mybatis-paginatorartifactId>
				<version>${mybatis.paginator.version}version>
			dependency>
			<dependency>
				<groupId>com.github.pagehelpergroupId>
				<artifactId>pagehelperartifactId>
				<version>${pagehelper.version}version>
			dependency>
			<dependency>
				<groupId>com.github.jsqlparsergroupId>
				<artifactId>jsqlparserartifactId>
				<version>${jsqlparser.version}version>
			dependency>
			
			<dependency>
				<groupId>mysqlgroupId>
				<artifactId>mysql-connector-javaartifactId>
				<version>${mysql.version}version>
			dependency>
			
			<dependency>
				<groupId>com.alibabagroupId>
				<artifactId>druidartifactId>
				<version>${druid.version}version>
			dependency>
			
			<dependency>
				<groupId>org.springframeworkgroupId>
				<artifactId>spring-contextartifactId>
				<version>${spring.version}version>
			dependency>
			<dependency>
				<groupId>org.springframeworkgroupId>
				<artifactId>spring-beansartifactId>
				<version>${spring.version}version>
			dependency>
			<dependency>
				<groupId>org.springframeworkgroupId>
				<artifactId>spring-webmvcartifactId>
				<version>${spring.version}version>
			dependency>
			<dependency>
				<groupId>org.springframeworkgroupId>
				<artifactId>spring-jdbcartifactId>
				<version>${spring.version}version>
			dependency>
			<dependency>
				<groupId>org.springframeworkgroupId>
				<artifactId>spring-aspectsartifactId>
				<version>${spring.version}version>
			dependency>
			<dependency>
				<groupId>org.springframeworkgroupId>
				<artifactId>spring-jmsartifactId>
				<version>${spring.version}version>
			dependency>
			<dependency>
				<groupId>org.springframeworkgroupId>
				<artifactId>spring-context-supportartifactId>
				<version>${spring.version}version>
			dependency>
			
			<dependency>
				<groupId>jstlgroupId>
				<artifactId>jstlartifactId>
				<version>${jstl.version}version>
			dependency>
			<dependency>
				<groupId>javax.servletgroupId>
				<artifactId>servlet-apiartifactId>
				<version>${servlet-api.version}version>
				<scope>providedscope>
			dependency>
			<dependency>
				<groupId>javax.servletgroupId>
				<artifactId>jsp-apiartifactId>
				<version>${jsp-api.version}version>
				<scope>providedscope>
			dependency>
			
			<dependency>
				<groupId>commons-fileuploadgroupId>
				<artifactId>commons-fileuploadartifactId>
				<version>${commons-fileupload.version}version>
			dependency>
			
			<dependency>
				<groupId>redis.clientsgroupId>
				<artifactId>jedisartifactId>
				<version>${jedis.version}version>
			dependency>
			<dependency>
				<groupId>org.apache.shirogroupId>
				<artifactId>shiro-springartifactId>
				<version>${shiro-spring.version}version>
			dependency>
			<dependency>
				<groupId>org.apache.shirogroupId>
				<artifactId>shiro-ehcacheartifactId>
				<version>${shiro-ehcache.version}version>
			dependency>
		dependencies>
	dependencyManagement>

	<build>
		<finalName>${project.artifactId}finalName>
		<plugins>
			
			<plugin>
				<groupId>org.apache.maven.pluginsgroupId>
				<artifactId>maven-resources-pluginartifactId>
				<version>2.7version>
				<configuration>
					<encoding>UTF-8encoding>
				configuration>
			plugin>
			
			<plugin>
				<groupId>org.apache.maven.pluginsgroupId>
				<artifactId>maven-compiler-pluginartifactId>
				<version>3.6.0version>
				<configuration>
					<source>1.8source>
					<target>1.8target>
					<encoding>UTF-8encoding>
				configuration>
			plugin>
		plugins>
		<pluginManagement>
			<plugins>
				
				<plugin>
					<groupId>org.apache.tomcat.mavengroupId>
					<artifactId>tomcat7-maven-pluginartifactId>
					<version>2.2version>
				plugin>
			plugins>
		pluginManagement>
	build>
project>

logistics-common

1.创建项目

好好编程-物流项目01【搭建maven工程】_第10张图片
好好编程-物流项目01【搭建maven工程】_第11张图片

2.配置依赖

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

  <dependencies>
  		
		<dependency>
			<groupId>joda-timegroupId>
			<artifactId>joda-timeartifactId>
		dependency>
		
		<dependency>
			<groupId>org.apache.commonsgroupId>
			<artifactId>commons-lang3artifactId>
		dependency>
		<dependency>
			<groupId>org.apache.commonsgroupId>
			<artifactId>commons-ioartifactId>
		dependency>
		<dependency>
			<groupId>commons-netgroupId>
			<artifactId>commons-netartifactId>
		dependency>
		
		<dependency>
			<groupId>com.fasterxml.jackson.coregroupId>
			<artifactId>jackson-databindartifactId>
		dependency>
		
		<dependency>
			<groupId>junitgroupId>
			<artifactId>junitartifactId>
			<scope>testscope>
		dependency>
		
		<dependency>
			<groupId>org.slf4jgroupId>
			<artifactId>slf4j-log4j12artifactId>
		dependency>
  dependencies>

logistics-manager

1.创建项目

好好编程-物流项目01【搭建maven工程】_第12张图片

2.添加依赖

  建完之后,我们在logistics-manager的pom.xml文件中添加对logistics-common的依赖。

  <dependencies>
  	
  	<dependency>
	  	<groupId>com.bobogroupId>
	    <artifactId>logistics-commonartifactId>
	    <version>0.0.1-SNAPSHOTversion>
  	dependency>
  dependencies>

四个模块

1.logistics-manager-pojo

1.1创建项目

好好编程-物流项目01【搭建maven工程】_第13张图片
好好编程-物流项目01【搭建maven工程】_第14张图片
好好编程-物流项目01【搭建maven工程】_第15张图片好好编程-物流项目01【搭建maven工程】_第16张图片

1.2依赖设置

  此项目不用添加额外依赖暂时

2.logistics-manager-dao

2.1创建项目

好好编程-物流项目01【搭建maven工程】_第17张图片

2.2设置依赖

  建完logistics-manager-pojo之后,我们打开logistics-manager-dao模块的pom.xml文件,并在其中添加对logistics-manager-pojo的依赖,另外由于dao层需要Mybatis、Mysql、分页、连接池的包,因此我们在pom.xml文件中添加对这些的依赖。

<dependencies>
	<dependency>
		<groupId>com.bobogroupId>
		<artifactId>logistics-manager-pojoartifactId>
		<version>0.0.1-SNAPSHOTversion>
	dependency>
	
	<dependency>
		<groupId>org.mybatisgroupId>
		<artifactId>mybatisartifactId>
	dependency>
	<dependency>
		<groupId>org.mybatisgroupId>
		<artifactId>mybatis-springartifactId>
	dependency>
	<dependency>
		<groupId>com.github.miemiedevgroupId>
		<artifactId>mybatis-paginatorartifactId>
	dependency>
	<dependency>
		<groupId>com.github.pagehelpergroupId>
		<artifactId>pagehelperartifactId>
	dependency>
	<dependency>
		<groupId>com.github.jsqlparsergroupId>
		<artifactId>jsqlparserartifactId>
	dependency>
	
	<dependency>
		<groupId>mysqlgroupId>
		<artifactId>mysql-connector-javaartifactId>
	dependency>
	
	<dependency>
		<groupId>com.alibabagroupId>
		<artifactId>druidartifactId>
	dependency>
dependencies>

3.logistics-manager-service

3.1创建项目

好好编程-物流项目01【搭建maven工程】_第18张图片

3.2设置依赖

  需要依赖logistics-manager-dao。

 <dependencies>
 	
 	<dependency>
	  	<groupId>com.bobogroupId>
	    <artifactId>logistics-manager-daoartifactId>
	    <version>0.0.1-SNAPSHOTversion>
 	dependency>
 			
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-contextartifactId>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-beansartifactId>
		dependency>
		
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-jdbcartifactId>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-aspectsartifactId>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-jmsartifactId>
		dependency>
		<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-context-supportartifactId>
		dependency>
 dependencies>

4.logistics-manager-web

4.1创建项目

好好编程-物流项目01【搭建maven工程】_第19张图片
创建报错
在这里插入图片描述

缺少web.xml.我们手动创建一个即可
好好编程-物流项目01【搭建maven工程】_第20张图片


<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>Day01-SpringMVC01-HelloMVCdisplay-name>
  <welcome-file-list>
    <welcome-file>index.htmlwelcome-file>
    <welcome-file>index.htmwelcome-file>
    <welcome-file>index.jspwelcome-file>
    <welcome-file>default.htmlwelcome-file>
    <welcome-file>default.htmwelcome-file>
    <welcome-file>default.jspwelcome-file>
  welcome-file-list>

web-app>

4.2设置依赖

<dependencies>
  	
  	<dependency>
	  	<groupId>com.bobogroupId>
	    <artifactId>logistics-manager-serviceartifactId>
	    <version>0.0.1-SNAPSHOTversion>
  	dependency>		
	
	<dependency>
		<groupId>jstlgroupId>
		<artifactId>jstlartifactId>
	dependency>
	<dependency>
		<groupId>javax.servletgroupId>
		<artifactId>servlet-apiartifactId>
		<scope>providedscope>
	dependency>
	<dependency>
		<groupId>javax.servletgroupId>
		<artifactId>jsp-apiartifactId>
		<scope>providedscope>
	dependency>
	
	<dependency>
		<groupId>org.apache.shirogroupId>
		<artifactId>shiro-springartifactId>
	dependency>
	  <dependency>
		<groupId>org.apache.shirogroupId>
		<artifactId>shiro-ehcacheartifactId>
	dependency>  
	<dependency>
			<groupId>org.springframeworkgroupId>
			<artifactId>spring-webmvcartifactId>
	dependency>
  dependencies>

好好编程-物流项目01【搭建maven工程】_第21张图片
项目搭建完成,下篇继续~~

你可能感兴趣的:(好好编程系列)