Java Web后端--入职技能任务单(Maven父工程创建)一

一、项目环境和技术点


IDE     :eclipse

JDK    :1.8(Java8)

工程    :Maven Project,聚合POM工程,jar包依赖的添加基于pom.xml配置管理

Maven:3.5

数据库:MySql(5.7)

Tomcat:8.0

框架    :Spring+SpringMvc+Mybatis---  SSM

JS       :UI插件集合框架jquery-easyui-1.4.1,富文本编辑器kindeditor-4.1.10 

SQL关系映射: Mybatis逆向工程,手动配置并生成PoJo(表对应的Java类)和Mapper(SQL语句映射类和xml文件)

反向代理服务器:   Nginx       (俄罗斯人开发--基于C)

小型文件存储系统:FastDFS(国人开发      --基于C)

Servlet:服务器端程序-->文件上传、文件列表展示、文件下载


说明:以上说的每一条都不是硬性条件,主要是针对当前项目而言,项目已发至我的下载资源中。


二、建立eclipse工作空间,并打开(空白项目)


本地磁盘建立一个文件目录,命名:SSM-Sample ,并在eclipse中打开

(1)配置文件夹自动生成(.metadata、RemoteSystemsTempFiles)


与这两个目录相关的IDE环境配置有:字体,编码,颜色............



(2)eclipse打开





三、本地配置Maven仓库


(1)官网下载Maven最新版本:下载地址




(2)下载完成后,本地解压缩,并配置系统环境变量






配置好后,CMD查看mvn版本号,验证一下




完了后,我们针对当前项目,在D盘创建一个Maven本地仓库的管理文件夹,取名Maven3.5(其实上面已经暴露了)

在该文件夹下,创建一个jar包存放的目录Maven_Jar,并拷贝一个Maven配置XML文件settings.xml




EditPlus编辑settings.xml,修改一处地方如下:




至此,我们的本地Maven仓库环境已经配置和搭建好!


四、eclipse中Maven插件配置


(1)



(2)




配置好后,点击Apply应用,OK退出!


Maven的作用:

(1)项目中基于pom.xml文件配置Jar包信息,Maven自动下载到本地文件夹

(1)管理Jar包:随着项目的扩展和壮大,项目需要的Jar包越来越多,传统方式是将Jar包添加进项目中,但是,Maven却可以为我们建立本地Jar包管理仓库,方便我们在用的时候直接在pom.xml文件里添加对应的Jar包依赖,然后去本地Maven仓库中寻找对应的Jar包,如果有,直接依赖使用,如果没有,再下载下来后依赖使用。


五、建立Maven父工程ssm-parent,类型为POM


(1)空白处鼠标右键New--other....








Finish后,打开pom.xml,进行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.0</modelVersion>
	<groupId>com.ssm</groupId>
	<artifactId>ssm-parent</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>pom</packaging>
	<!-- 集中定义依赖版本号 -->
	<properties>
		<junit.version>4.12</junit.version>
		<spring.version>4.1.3.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>5.0.0</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>
		<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>
			<!-- 单元测试 -->
			<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-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>
			<dependency>
				<groupId>org.freemarker</groupId>
				<artifactId>freemarker</artifactId>
				<version>${freemarker.version}</version>
			</dependency>
			<dependency>
				<groupId>org.quartz-scheduler</groupId>
				<artifactId>quartz</artifactId>
				<version>${quartz.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.2</version>
				<configuration>
					<source>1.7</source>
					<target>1.7</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>

上面添加的Jar包,好多是本项目中用不到的,但是,我们ssm-parent就是一个父工程,它的作用就是集中配置Jar包,集中下载,具体添加依赖使用,在于继承了ssm-parent工程的子Maven Project


配置好后,Ctrl+S保存项目后,会看到eclipse中有下载进度条的提示,这就意味着,上述配置的Jar包,已经交由Maven插件下载到本地了,完成后,我们去本地Jar包存放的文件夹下查看一下:




注意,上述有一个com的文件夹,知道这个是什么吗?


六、安装Maven父工程ssm-parent到本地


ssm-parant的Group Id 我们在上面起名叫com.ssm(这可不是起着玩的),这就意味着,如果把这个POM Maven父工程安装到本地仓库的话,其所在的路径就应该是

.....\com\ssm\ssm-parent\....


作为父亲,有必要做个榜样,因此,我们Maven Install,安装ssm-parant到本地Maven仓库




安装过程中,控制台有消息输出,如果本地已经存在要安装的maven project了,再次安装依然会成功,只不过是覆盖掉原来的工程(其实主要是覆盖pom.xml文件中的Jar包信息)





安装成功后,我们去本地Maven文件夹下查看一下







至此我们的父工程已经准备就绪!




下一篇Java Web后端--入职技能任务单(Maven子工程创建)二

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值