Maven和Git

Maven(项目管理器)

1.Maven:是apach公司一个开源项目.本质就是一个项目管理器.
传统项目的问题:

1 需要把jar复制到项目中,繁琐
2 项目体积更大,不利于维护
3 不利于团队开发
作用:管理依赖(管理项目所需要Jar包);
构建项目(清理、编译、单元测试、打包、安装、部署、运行));

2.Maven安装步骤:
2.1:从官网http://maven.apache.org/download.cgi下载windows版本的maven包
apache-maven-版本号-bin.zip
2.2:解压maven包,解压后有四个目录
bin:maven的脚本运行文件和命令.
boot:存类加载器框架
conf:存放maven配置文件.
settings.xml文件配置仓库的地址.
lib:存放所需要的Jar.
2.3:配置环境变量:我的计算机->右键属性->高级系统设置->环境变量->系统变量
2.3.1:新建->MAVEN_HOME:maven安装路径
(D:\apache-maven-3.6.3-bin\apache-maven-3.6.3)
2.3.2:找到path->在path原路径值的后面;%MAVEN_HOME%\bin
2.4:每次配置好环境变量后,重新打开运行->cmd->mvn -version.

3.Maven检索顺序图

在这里插入图片描述
4.配置Maven仓库
4.1:选择一个目录,新建一个文件夹作为本地仓库.
maven安装包下面建一个文件夹repo.
4.2:设置maven配置文件:打开settings.xml文件
4.2.1:配置本地仓库路径:在settings.xml文件的根节点下面

配置本地仓库的路径<localRepository>本地仓库的路径</localRepository>

4.2.2:配置中央仓库的境像(远程仓库):在settings.xml文件中找到

<mirrors>节点,在下面				  配置中央仓库的境像
				<!--配置中央仓库的镜像-->
	<mirror>
      <id>alimaven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven</name> 
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>	

4.2.3:配置maven依赖jdk信息:在settings.xml文件中找到节点,在下面配置jdk

		<!--jdk的全局配置-->
	<profile>           
		<id>jdk18</id>           
		<activation>               
			<activeByDefault>true</activeByDefault>
			<jdk>1.8</jdk>           
		</activation>           
		<properties>               
			<maven.compiler.source>1.8</maven.compiler.source>
			<maven.compiler.target>1.8</maven.compiler.target>
			<maven.compiler.compilerVersion>1.8										                                  </maven.compiler.compilerVersion>
		</properties>     
	</profile> 

4.2.4:将maven中conf文件夹中配置好的settings.xml复制
到C:\Users\电脑登录名.m2(如果maven一次都没用过,没有.m2目录就不用配置)

5.将idea与Maven关联上:使用自己下载的maven
在这里插入图片描述

6.将eclipse与Maven关联上:使用自己下载的maven
6.1: 首先使用自己的Maven安装文件替换掉Eclipse插件的Maven,如下图:
在这里插入图片描述

6.2:配置用户自己maven的配置文件
在这里插入图片描述

7.maven项目:
7.1:idea创建maven工程:
7.1.1:第一种:创建Maven的Java Project
在这里插入图片描述
在这里插入图片描述
7.1.2:第二种:idea创建Maven的Java工程
在这里插入图片描述
7.1.3:idea创建Maven版web工程
在这里插入图片描述
在这里插入图片描述

7.2:eclipse中创建maven项目:在package explore中空白地方->new->Maven project->

在这里插入图片描述注意:

<!-- 打包方式 :项目类型         
	POM:MAVEN项目,常用在继承和聚合上        
	JAR:JAVASE项目,没有网页,跟服务器没关系 ,对应java project      
	WAR:JAVAEE项目,跟服务器没关系,对应web project  -->

7.3:maven项目结果
7.3.1:maven项目目录结构:Jar包版本maven项目
src/main/java:存放项目的.java文件
src/main/resources:存放项目资源文件。存放c3p0,Spring,Hibernate配置文件 src/test/java:存放所有测试的.java文件.如Junit测试类
src/test/resources:测试资源文件
target:项目输出位置(可以自动生成)
pom.xml(maven项目核心配置文件,可配置当前项目所依赖的Jar包)

7.3.2:maven项目目录结构:War包版本maven项目
src/main/java:存放项目的.java文件
src/main/resources:存放项目资源文件。如何Spring,Hibernate配置文件 src/test/java:存放所有测试的.java文件.如Junit测试类
src/test/resources:测试资源文件
src/main/webapp:存放前端页面及配置 相当于web项目的webcontent目录
注意:在webapp下自己手动创建WEB-INF目录,在WEB-INF目录复制一个web.xml
target:项目输出位置(可以自动生成)
pom.xml(maven项目核心配置文件,可配置当前项目所依赖的Jar包)

7.4:Maven工程打包方式有三种;

		<packaging>Jar</packaging> 创建Maven的Java工程
		<packaging>war</packaging> 创建Maven的web工程
		<packaging>pom</packaging> 创建父工程,专门用来管理子模块,继承的

7.5:pom.xml配置整个项目所需要外部Jar包(外部Jar包坐标)

	6.3.1:<project>节点中新建一个子节点<dependencies></dependencies>
	6.3.2:<dependencies></dependencies>节点中配置依赖Jar包
	打开https://mvnrepository.com/网页,在搜索框中输入需要的包名
	将打开类似下面路径,放在<dependencies></dependencies>节点											中
eg:	<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>3.1.12</version>
</dependency>

<dependency>
    <groupId>junit</groupId><!--公司或组织名-->
    <artifactId>junit</artifactId><!--项目中,包名-->
    <version>4.12</version><!--版本号-->
    <scope>test</scope> <!--包的使用范围-->
</dependency>

注意:Scope:声明jar包的存活时间
取值说明:
1、provided:编译和测试时需要
2、compile:编译、测试、运行、打包需要 3、runtime:测试、运行、打包需要
4、test:测试
5、system:编译和测试时需要,显示引用,Maven不会检索

7.Maven项目的生命周期:(三套生命周期)

7.1:Clean Lifecycle(Clean生命周期) 在进行真正的构建之前进行一些清理工作。
pre-clean 执行一些需要在clean之前完成的工作
clean 移除所有上一次构建生成的文件
post-clean 执行一些需要在clean之后立刻完成的工作

7.2:Default Lifecycle(Default生命周期) 构建的核心部分,编译,测试,打包,部署 等等。
compile 编译项目的源代码
install 将包安装至本地仓库,以让其它项目依赖。
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享
process-test-resources 复制并处理资源文件,至目标测试目录
process-resources 复制并处理资源文件,至目标目录,准备打包
test-compile 编译测试源代码
test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署
package 接受编译好的代码,打包成可发布的格式,如 JAR
validate
generate-sources
process-sources
generate-resources
process-classes
generate-test-sources
process-test-sources
generate-test-resources
process-test-classes
prepare-package
pre-integration-test
integration-test
post-integration-test
verify

7.3:Site Lifecycle(Site生命周期) 生成项目报告,站点,发布站点。
pre-site 执行一些需要在生成站点文档之前完成的工作
site 生成项目的站点文档
post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
site-deploy 将生成的站点文档部署到特定的服务器上
8.maven构造项目常用命令(了解,重点知道每个命令做什么用):
mvn clean:清理(删除)编译的文件 --执行clean生命周期中pre-clean,clean
使用插件:maven-clean-plugin:2.5:clean

mvn compile:编译主目录的文件 --执行default生命周期中compile
使用插件: maven-resources-plugin:2.6:resources
maven-compiler-plugin:3.1:compile

mvn test: 编译并运行test目录的代码
使用插件: maven-resources-plugin:2.6:resources
maven-compiler-plugin:3.1:compile
maven-resources-plugin:2.6:testResources
maven-compiler-plugin:3.1:testCompile
maven-surefire-plugin:2.12.4:test

mvn package:打包项目,jar包或war包
使用插件: maven-resources-plugin:2.6:resources
maven-compiler-plugin:3.1:compile
maven-resources-plugin:2.6:testResources
maven-compiler-plugin:3.1:testCompile
maven-surefire-plugin:2.12.4:test
maven-jar-plugin:2.4:jar

mvn install: 安装到仓库 --执行clear生命周期及default生命周期中install前面所有过程
使用插件:maven-resources-plugin:2.6:resources
maven-compiler-plugin:3.1:compile
maven-resources-plugin:2.6:testResources
maven-compiler-plugin:3.1:testCompile
maven-surefire-plugin:2.12.4:test
maven-jar-plugin:2.4:jar
maven-install-plugin:2.4:install

9.(扩展)maven升级web项目出现的问题:
9.1:验证码的Jar包是别人写的,中央创建中没有,在web项目中想用:
9.1.1:将验证码的包构建到本地仓库中:
9.1.1.1.将ValidateCode.jar包放在C:\Users\用户名下
9.1.1.2.打开cmd进入jar包所在的目录:
输入代码
mvn install:install -file -DgroupId=cn.dsna.util.images
-DartifactId=ValidateCode -Dversion=1.0 -Dpackaging=jar -Dfile=ValidateCode.jar

DgroupId:group id;
DartifactId:名称;
Dversion:版本;

9.1.2:在web项目中pom.xml中引入坐标

<!--验证码的Jar包-->
<dependency>
  <groupId>cn.dsna.util.images</groupId>
  <artifactId>ValidateCode</artifactId>
  <version>1.0</version>
</dependency>

9.2:Maven版本的web项目默认是web2.3版本不支持el表达式,会报Jsp的错误,怎么解决?

第一种:在jsp文件头上添加如下:<%@ page isELIgnored="false" %>

第二种:在web.xml文件中如下定义:
<jsp-config>
    <jsp-property-group>
        <url-pattern>*.jsp</url-pattern>
        <el-ignored>false</el-ignored>
        <scripting-invalid>true</scripting-invalid>
    </jsp-property-group>
</jsp-config>

第三种:改变web.xml中的头为2.5之上的版本..
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

9.3:项目打包到本地仓库,用猫运行:在idea中的maven管理中点击install->成功后,在本 地仓库中找到打的当前打的war包->丢在tomcat的webapps中(部署)->在tomcat的 bin下startup.bat启动猫(发布)->打开浏览器输入访问项目就可(用户访问).

Git

1.版本控制系统:帮我们管理项目的版本及每次的更改信息;管理项目整合,方便多人团队开发.

2.常用版本控制系统:svn,cvs,git

3.Git:是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git是目前世界上先进的分布式版本控制系统(没有之一)

4.Git VS SVN区别点:
4.1、GIT是分布式的,SVN不 是:这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,核心的区别。
4.2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
4.3、GIT分支 和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
4.4、GIT没有一个全局的版本号, 而SVN有:目前为止这是跟SVN相比GIT缺少的大的一个特征。
4.5、GIT的内容完整性要优于SVN:GIT的内容存储 使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

5.git工作原理图
在这里插入图片描述
7.打开git客户端输入命令界面
7.1:打开git安装目录的git-cmd.exe.
7.2:打开git安装目录的git-bash.exe
7.3:运行->cmd->进入git安装包的bin目录->输命令.
7.4:在idea按alt+insert

8.git常用命令(了解)
8.1:设置git全局用户:git config --global user.name “用户名”
8.2:设置git邮箱:git config --global user.email 邮箱
8.3:查看配置文件:git config --list
8.4:创建文件夹,将其设置为git可以管理仓库:进入文件夹->git init
8.5:将工作区的文件添加暂存区: git add 文件名.后缀名
8.6:将暂存区的文件提交到目录树上并带信息:git commit -m ‘信息内容’
8.7:查看工作区的文件状态:git status
8.8:查看工作区的文件是否有更改:git diff
8.9:查看提交日志信息:git log (英文状态下按Q退出)
8.10:撤消暂存区最近一次操作:git reset head
撤消暂存区最近几次操作:git --hard head^^
8.11:删除文件(工作区,暂存区,目录树):git rm 文件名
8.12:用于移动或重命名(暂存区或目录树)一个文件、目录:git mv 原文件名 新文件名
8.13:创建分支:git branch 分支名
8.14:查看所有分支:git branch
8.15:切换分支:git checkout 分支名
8.16:合并分支:进入主分支->git merge 分支名
注意:如果两个合并分支中同一个名称文件中文件中只有一行,就会覆盖
如果两个合并分支的同一个名称文件中有多行,会产生内容冲突,合并
8.17:查看文件内容:cat 文件名 (只在git-bash.exe这个界面中可用)
8.18:删除分支,进入主分支后:git branch -d 分支名.

9.配置远程仓库
9.1:(第一次用远程仓库)在git中用ssh-keygen -t rsa -C “注册github/码云邮箱” 生成公钥.
9.2:(第一次用远程仓库)将生成id_rsa.pub文件的内容(公钥)复制,打开码云或github找到ssh 公钥,在添加公钥下面将复制信息粘贴.
9.3:在git创建的master上用git remote add origin 远程仓库地址 命令关联远程仓库
9.4:第一次将本地创建推送到远程:
9.4.1:如果是第一次执行,可以先需要pull一下
git pull
9.4.2:将本地代码push到码云的master主分支上
git push -u -f origin master
9.4.3:如果不是第一次推送,git push origin master
9.5:git remote 查看当前的远程仓库
git remote -v 查看当前的远程仓库

10.从项目从码云复制下来:用git进入一个目录,在git中输入git clone 远程仓库地址命令,远程创建就下载到当前目录中.

11.idea集成git及使用(重点)
11.1:idea关系git
11.1.1:Gitee插件安装:选择 File — Settings-选择 Plugins —搜索 gitee, 安装插件 —重启 idea 即可
11.1.2:配置Git客户端:File — Settings-Version Control—Git关联Git安装目 录下的
11.1.3:配置服务端账户Gitee:配置码云邮箱+密码.
11.2:上传项目:菜单”VCS — Import into Version Control — Share project on Gitee”,填写描述信息后,点击”Share”按钮即可。
在这里插入图片描述

11.3:下载项目:菜单”VCS — Checkout from Version Control — Git”
在”Git Repository URL”下拉列表中有你自己的项目,选择你存放的路径,再输入你想要的项目名称,点击”Clone”按钮,即完成获取过程。
在这里插入图片描述

11.4:同步代码:Git与提交有关的三个命令对应的操作,Add命令是把文件从IDE的工作目 录添加到本地仓库的stage区,Commit命令把stage区的暂存文件提交到 当前分支的仓库,并清空stage区。Push命令把本地仓库的提交同步到远 程仓库。
11.4.1:选择VCS - > Import into Version Control -> Create Git Repository指定本地仓库的位置.
在这里插入图片描述

11.4.2:将项目提交到本地仓库并推送到远程仓库中:选择项目->git->commit Directory->选择commit and push.
在这里插入图片描述

11.5:分支管理:
11.5.1:创建分支:选中项目右键->git->repository->branches->new branch->填写分支名->ok;
在这里插入图片描述
在这里插入图片描述

11.5.2:切换分支:选中项目右键->git->repository->branches->分支名->checkout
在这里插入图片描述

11.5.3:合并分支:先切换到master,保证当前分支是master,在需要合并的分支上点击merge into current,merge成功之后是在本地合并了,需要再push到远程仓库。在提交过程中如果遇到冲突需要解决冲突之后再Push.
在这里插入图片描述
在这里插入图片描述

11.6:版本回退:选中项目右键->git->repository->reset head->选择hard->reset;
在这里插入图片描述

11.7:解决冲突.
11.7.1:如果两个人改了同一段代码,一个人先提交,另一个人就无法提交,这时Merge->点击键头,合并代码->push.

11.8:远程仓库分支的创建
11.8.1:直接在远程码云上创建一个分支,在idea中选中项目右键->git->repository->Fetch->获取远程仓库所有分支.
11.8.2:用idea在本地创建分支后->push->可以将本地分支推送到远程仓库.

11.9:将项目推送指定某个远程仓库中
在这里插入图片描述
在这里插入图片描述
12.eclipse集成git(了解)
12.1:eclipse与远程仓库联系:打开eclipse->选windows->preferences->Team->git->cinfig->user settings->add entry->将name:码云用户名;email:码云关联邮箱将这两对值添加->apply and close;
12.2:在eclipse获得本地仓库:
12.2.1:打开git仓库管理视图:window->show view->git->git repository->点击.
12.2.2:在git仓库管理视图界面,选择创建git仓库/加载已存在的仓库/复制已存在仓库
12.2.3:将eclipse项目放在git中本地仓库的工作区中:选中项目名->右键team->share project->选择仓库名->finish.
12.2.4:现在选中项目->team->可以看到git命令操作
disconnect 将项目从git的本地仓库的工作区断开联接.
add to index 将项目从git本地仓库的工作区,添加暂存区
Remove from index 将项目从git本地仓库暂存区移除
commit 将项目提交到git本地仓库的目录树
12.2.5:提交项目到远程仓库:选中项目->team->remote->push->
在这里插入图片描述
在这里插入图片描述
转载至孙星老师笔记!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值