git的使用介绍(写很容易懂得哦)

缪雪峰写的git介绍我看完感觉特别好:https://www.liaoxuefeng.com/wiki/896043488029600

maven合拼多个项目(写得很好哦)

MAVEN作用:统一开发规范与工具;统一管理jar包

1.下载MAVEN  下载绿色版的面安装

2.环境配置

  eclipse想要用maven需要加载maven插件才能对项目管理:分类,布局

  1)环境变量

    MAVEN_HOME:C:\java\apache-maven-3.2.5(maven文件根路径)

    Path:添加%MAVEN_HOME%/bin

  2)配置文件:config/setting.xml

    1)修改更新到本地资源库:  <localRepository>C:\java\apache-maven-3.2.5\repository</localRepository>

    2)修改默认的中央仓库镜像:在settings.xml文件中的“<mirrors>

    之后项目中需要的jar包会先从本地资源库中查找,没有的话就去默认的中央仓库镜像中查找

  eclipse适配:最新版的自己就适配maven,只需配置settings.xml的位置就好了;若是不是最新版的还需要配置Installations定位到Maven的根路径

3.使用方法

  Maven常用命令:

. 创建Maven的普通java项目:
mvn archetype:create -DgroupId=packageName -DartifactId=projectName
. 创建Maven的Web项目:
mvn archetype:create -DgroupId=packageName -DartifactId=webappName-DarchetypeArtifactId=maven-archetype-webapp
. 编译源代码: mvn compile
. 编译测试代码:mvn test-compile
. 运行测试:mvn test
. 产生site:mvn site
. 打包:mvn package
. 在本地Repository中安装jar:mvn install
. 清除产生的项目:mvn clean
. 生成eclipse项目:mvn eclipse:eclipse
. 生成idea项目:mvn idea:idea
. 组合使用goal命令,如只打包不测试:mvn -Dtest package
. 编译测试的内容:mvn test-compile
. 只打jar包: mvn jar:jar
. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile
( -skipping 的灵活运用,当然也可以用于其他组合命令)
. 清除eclipse的一些系统设置:mvn eclipse:clean

4.想要给项目添加

  不用直接给项目添加jar包了可以直接在pom.xml中配置jar包,maven项目会自动从本地资源库中下载或者去maven中央仓库中查找下载

其中groupId是com,cn类似的,artifatId是项目名称
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>

5.Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

链接:http://pan.baidu.com/s/1c163fbi 密码:mk4i

6.pom(Project Object Model)

  1)pom.xml三个必须的字段:<groupId><artifactId><version>

  groupId:工程组的标识;artifactId:工程标识;version:工程版本标识

    <groupId>com.companyname.project-group</groupId>

    <artifactId>project</artifactId>

    <version>1.0</version>

  2)plugins

  3)goals

  4)

7.生命周期

  Maven有三套相互独立的生命周期:生命周期哪个步骤需要执行一般执行命令行

  • Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
  • Default Lifecycle 构建的核心部分,编译,测试,打包,部署等等。
  • Site Lifecycle 生成项目报告,站点,发布站点。

  1)Clean Lifecycle:

    1.pre-clean  执行一些需要在clean之前完成的工作

    2.clean  移除所有上一次构建生成的文件

    3.post-clean  执行一些需要在clean之后立刻完成的工作

    注意:执行mvn post-clean会自动执行完pre-clean,clean

  2)Site Lifecycle:

    1.pre-site     执行一些需要在生成站点文档之前完成的工作

    2.site    生成项目的站点文档

    3.post-site     执行一些需要在生成站点文档之后完成的工作,并且为部署做准备

    4.site-deploy     将生成的站点文档部署到特定的服务器上

    注意:常用到的是site阶段和site-deploy阶段

  3)Default Lifecycle:Maven最重要的生命周期,绝大多数工作都在这里

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

    注意:运行任何一个阶段的时候,它前面的所有阶段都会被运行,这也就是为什么我们运行mvn install 的时候,代码会被编译,测试,打包

    每个阶段详解: http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

8.构建配置文件

  作用:通过指定参数来做特定的事,可为不同的环境(生产环境和开发),定制构建方式

  三种构建配置文件方式:项目级(Per Project),用户级(Per User),全局(Gobal)

  配置文件一般存放中,

  构建配置文件采用的是<profiles>节点

  1)项目级

    直接在pom.xml中节点<profiles>配置不同环境指定不同的构建方案

    mvn test -Ptest:第一个test为Maven生命周期阶段,第2个test为为构建配置文件指定的<id>参数,这个参数通过-P来传输

  2)用户级

    %USER_HOME%/.m2;%M2_HOME%/conf/目录下的settings.xml文件;

    增加<activeProfiles>属性

<settings 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/settings-1.0.0.xsd">
...
<activeProfiles>
<activeProfile>test</activeProfile>
</activeProfiles>
</settings>

    mvn test:自动定位到activeProfiles指定的test配置文件

  3)全局(设置变量方式)

<profile>
<id>test</id>
<activation>
<property>
<name>env</name>
<value>test</value>
</property>
</activation>
</profile>

    mvn test -Denv=test:env变量value为test的那个配置文件

9.仓库

  分为:本地仓库;中央仓库;远程仓库

  1)本地仓库:

    setting,xml配置localRepository节点

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>C:/MyLocalRepository</localRepository>
</settings>

  2)中央仓库:

    maven的一个中央仓库由maven市区维护http://search.maven.org/#browse

    也在setting.xml中配置repositories节点配置

<repositories>
<repository>
<id> central</id>
<name> Maven Repository Switchboard</name>
<layout> default</layout>
<url> http://repo1.maven.org/maven2</url>
<snapshots>
<enabled> false</enabled>
</snapshots>
</repository>
</repositories>

  3)远程仓库:

    在pom.xml中配置repositories节点

   <repositories>
<repository>
<id>companyname.lib1</id>
<url>http://download.companyname.org/maven2/lib1</url>
</repository>
<repository>
<id>companyname.lib2</id>
<url>http://download.companyname.org/maven2/lib2</url>
</repository>
</repositories>

  依赖搜索顺序:先查本地服务没有jar包时-》中央仓库没有jar包时-》远程仓库没有jar包时-》报错 

10.插件plugins

  Maven实际上就是依赖插件执行的框架;通常被用来

创建 jar 文件
创建 war 文件
编译代码文件
代码单元测试
创建工程文档
创建工程报告

  语法:mvn [plugin-name]:[goal-name];如:mvn compiler:compile

  分类:Build plugins构建时执行并配置;Reporting plugins网站生成过程执行并配置

  常用的插件:

插件            描述
clean 构建之后清理目标文件。删除目标目录。
compiler 编译 Java 源文件。
surefile 运行 JUnit 单元测试。创建测试报告。
jar 从当前工程中构建 JAR 文件。
war 从当前工程中构建 WAR 文件。
javadoc 为工程生成 Javadoc。
antrun 从构建过程的任意一个阶段中运行一个 ant 任务的集合。

  pom.xml配置:可以配置executions节点执行插件用途

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>id.clean</id>
<phase>clean</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>clean phase</echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>

11.代码创建工程:

  C:\MVN>mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

12.外部依赖在pom.xml中配置dependencies节点

       <dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.</version>
<scope>test</scope>
</dependency> <dependency>
<groupId>ldapjdk</groupId>
<artifactId>ldapjdk</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath>
</dependency>
</dependencies>

  其中scope:指定作用域;systemPath:jar包下载到指定路径

13.创建工程文档;工程模板

  命令行:C:\MVN>mvn site;mvn archetype:generate

14.快照:服务端的jar包老是更新最新版本,用它的pom.xml就需要不断地更新配置很麻烦就出现了快照

  1)过程:提供jar包的服务端配置jar包时<version>配置的版本名字加上-SNAPSHOT:如<version>1.0-SNAPSHOT</version>

<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.</modelVersion>
<groupId>data-service</groupId>
<artifactId>data-service</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>health</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-</project.build.sourceEncoding>
</properties>
</project>

        使用这个jar包快照pom.xml中配置:  

  <dependencies>
<dependency>
<groupId>data-service</groupId>
<artifactId>data-service</artifactId>
<version>1.0-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>

  2)命令行:强制获得最新快照:mvn clean package -U

15.构建自动化

  一旦一个工程创建成功,其相关依赖工程也要开始重新构建工程从而保证其依赖项的稳定性

  场景:一个 bus-core-api更新后,希望app-web-ui,app-desktop-ui两个从线也自动更新

app-web-ui
<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.</modelVersion>
<groupId>app-web-ui</groupId>
<artifactId>app-web-ui</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>bus-core-api</groupId>
<artifactId>bus-core-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project> app-desktop-ui
<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.</modelVersion>
<groupId>app-web-ui</groupId>
<artifactId>app-web-ui</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>bus-core-api</groupId>
<artifactId>bus-core-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project> bus-core-api
<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.</modelVersion>
<groupId>bus-core-api</groupId>
<artifactId>bus-core-api</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
</project>

    1)在三个线中配置快照-》2)

  • 在 bus-core-api 的 pom 文件里添加一个编译目标来提醒 app-web-ui 工程和 app-desktop-ui 工程启动创建。->C:\MVN\bus-core-api>mvn clean package -U
  • <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.</modelVersion>
    <groupId>bus-core-api</groupId>
    <artifactId>bus-core-api</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <build>
    <plugins>
    <plugin>
    <artifactId>maven-invoker-plugin</artifactId>
    <version>1.6</version>
    <configuration>
    <debug>true</debug>
    <pomIncludes>
    <pomInclude>app-web-ui/pom.xml</pomInclude>
    <pomInclude>app-desktop-ui/pom.xml</pomInclude>
    </pomIncludes>
    </configuration>
    <executions>
    <execution>
    <id>build</id>
    <goals>
    <goal>run</goal>
    </goals>
    </execution>
    </executions>
    </plugin>
    </plugins>
    <build>
    </project>

16.依赖管理:没啥说的看看就是maven对多个pom之间的依赖关系

17.自动化部署:只用pom.xml配置就能全部被自动部署

  使用Maven发布的插件

<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.</modelVersion>
<groupId>bus-core-api</groupId>
<artifactId>bus-core-api</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<scm>
<url>http://www.svn.com</url>
<connection>scm:svn:http://localhost:8080/svn/jrepo/trunk/
Framework</connection>
<developerConnection>scm:svn:${username}/${password}@localhost::
common_core_api::code</developerConnection>
</scm>
<distributionManagement>
<repository>
<id>Core-API-Java-Release</id>
<name>Release repository</name>
<url>http://localhost:8081/nexus/content/repositories/
Core-Api-Release</url>
</repository>
</distributionManagement>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-</version>
<configuration>
<useReleaseProfile>false</useReleaseProfile>
<goals>deploy</goals>
<scmCommentPrefix>[bus-core-api-release-checkin]-<
/scmCommentPrefix>
</configuration>
</plugin>
</plugins>
</build>
</project>
元素    描述
SCM 配置 SVN 的路径,Maven 将从该路径下将代码取下来。
repository 成功构建出来的 WAR/EAR/JAR 或者其他的构建结果存放的路径。
plugins maven-release-plugin 用以自动化部署的过程。

18.Apache Maven Elipse IDEApache Maven NetBeansApache Maven IntelliJ IDEA

-------------------------------------------------------------

SVN:管理项目,用户团队合作

  客户端配置:需要注意的是不要选择command....那一栏

  1.新建库TortoiseSVN - Create repository here;

  2.导入项目:import(在文件夹下空白处右键);checkout一般我们用的是checkout(文件夹直接checkout)能将最新版本更新到本地

  3.更新工作目录:

    空白处点击鼠标右键,选择“SVN Update“;显示更新了哪些内容,库版本是多少

  4提交工作目录:

    在做了修改,需要保存到库中时,用到提交操作:SVN Commit

  5.svn在eclipse中使用

    1).配置svn环境(Subclipse)

    2)上传项目到project

     在eclipse视图资源库中(Window/Show View)

    3)在svn资源库空白位置选择新建资源库位置4)填好资源库位置服务器地址5)导入成功后出现导入的资源库

    4)右键project/team/share project

最新文章

  1. JavaScript(四) Window窗体操作
  2. http协议进阶(三)补充:报文首部
  3. mybatis传入多个参数
  4. JS 生成GUID 方法
  5. C++STL 常用 函数 用法
  6. 【新产品发布】【iCore2 ARM / FPGA 双核心板】
  7. 中兴电信光纤猫F612管理员密码获取方法
  8. highcharts js报表工具(报表插件)
  9. (已解决 7.8号)leecode 分词利用词典分词 word break
  10. ThinkPHP第二十三天(Category表结构、PHPExcel导入数据函数)
  11. oracle表空间查询维护命令大全之三(暂时表空间)史上最全
  12. C# 操作Word 文档——添加Word页眉、页脚和页码
  13. Win7 安装bundle
  14. 4 Past progressive VS simple past
  15. nginx限制单个IP的最大连接数量限制下载速度
  16. paramiko模块(01-04节)、SSH
  17. SUID、SGID、粘滞位
  18. 纯html页面中js如何获得项目路径
  19. DOS debug 命令的详细用法
  20. [转][PowerShell]ps执行重启IIS

热门文章

  1. 汇编 DOS的中断调用 INT 21H
  2. Unity3d Resources TextAsset 文本
  3. UTI 唯一类型标识
  4. hdu 3667 (拆边 mcmf)
  5. 《从零开始学Swift》学习笔记(Day 29)——访问级别
  6. Xcode生成ipa文件
  7. Object.defineProperties()
  8. android开发 软键盘出现后 防止EditText控件遮挡 总体平移UI
  9. ModelSim之TCL仿真
  10. Maven- 使用Maven构建一个可执行jar