当前位置:   article > 正文

Maven 基础 Maven简单入门 Kaki_kaki文件如何编辑

kaki文件如何编辑

Maven 基础 Maven简单入门

settings.xml文件配置

  • 1 绑定本地仓库
<localRepository>C:\webServer\repository</localRepository>
  • 1
  • 2 绑定远程仓库,阿里云
 <mirror>
           <id>nexus</id>
           <mirrorOf>*</mirrorOf> 
           <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
 </mirror>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 3 配置全局的jdk编译版本 全局jdk只是一个版本约束
<profile>
            <id>development</id>
            <activation>
                  <jdk>1.8</jdk>
                  <activeByDefault>true</activeByDefault>
             </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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 4 设置环境变量,到处都可以使用maven的命令

IDEA设置(本地只下载一次)

-DarchetypeCatalog=internal
用于设置任何配置信息都从本地缓存中拿。有一些模板信息maven默认
从远程仓库下载获取,如果设置了这个参数第一次从远程拿,以后从本
地拿(这就要求大家第一次玩maven必须联网,1~5M不等)

maven对javaweb项目目录结构的要求规范

项目名称
src
	main-------------------主程序目录,会被放到打包war文件中【必须有】
		java---------------主程序java源文件目录	
		resources----------放业务配置文件,最后部署到服务器依然会放到classes类路径下面
		webapp-------------存储web资源文件,类似以前web工程中web目录
	test-------------------测试程序目录,不会放到war文件中【可有可无】
		java---------------测试程序java源文件目录	
		resources----------放测试配置文件
target---------------------输出目录,部署的资源,由maven自动管理自动生成
pom.xml
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

相关插件依赖

  jdk插件
 <plugins>
    <!-- jdk版本插件(了解),因为一般都采用全局配置,如果当前项目不使用全局就可以使用这个插件 -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.2</version>
      <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <encoding>UTF-8</encoding>
        <showWarnings>true</showWarnings>
      </configuration>
    </plugin>
  tomcat7插件,非常建议使用这个,因为速度快
	 <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <port>8080</port>
        <path>/</path>
        <uriEncoding>UTF-8</uriEncoding>
        <server>tomcat7</server>
      </configuration>
    </plugin>
  </plugins>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

依赖范围介绍

compile 编译时 测试时 运行时
provided 编译时 测试时
runtime 测试时 运行时
test 测试时

maven的全局编码

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <!--设置jdk编译的版本-->
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  • 1
  • 2
  • 3
  • 4

Maven拓展知识

1.Maven仓库是统一放置依赖构建的地方(依赖jar包,插件)。

2.坐标:

      描述坐标的作用:
        通过坐标可以唯一定位依赖。

      坐标组成:
        groupId:组织名
        artifactId:模块名
        version:版本号
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.依赖范围:

依赖范围指的是当前依赖,参与项目构建生命周期的哪些过程。 compile:全局(默认)
test:测试时
provided:运行时,打包时不生效
runtime:运行时生效

4.依赖传递:

  • 可选依赖:我要不要给你

true就是不给,默认false

  • 排除依赖:我要不要你给我的
	  <!--配置排除依赖-->
            <exclusions>
			  可以配置多个
                <exclusion>
                    <!--排除spring-context-->
                    <groupId>org.springframework</groupId>
                    <artifactId>spring-context</artifactId>
                </exclusion>
            </exclusions>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

5.依赖冲突:

  • 当我传递一个依赖4.0,但是我在pox文件中又配置了5.0,pom文件依赖就会
    采用就近原则,原则5.0

  • 配置,使用父类依赖
    从父类中拿,版本号已在父类中配置,避免了版本冲突问题,依赖冲突

6.继承和聚合

依赖的继承:
继承就是为了消除重复:很多个meven项目,让他们都继承这个就不用一个一个配置了,
并且继承有的统一版本的作用。

7.聚合:

就是中间商,分工明确:
父pom就是负责提供公共依赖,插件
聚合负责把子工程聚合到一个地方,在打包是先访问聚合工程,根据聚合提供的子类工程信息,对子类
进行打包
好处就是分工明确,打包清晰
负责聚合子类,负责打包(提供所有子类的信息(路径,依赖信息等))
7.1传递依赖与继承:
传递依赖有可选依赖(optional),排除依赖(exclusion)
继承:在父中选择,版本的管理
:虚拟依赖管理
子:声明选择性继承
7.2:聚合:
聚合子项目,快速打包

8.nexusmeven私服搭建: 仓库类型

#描述仓库类型:
        proxy:代理仓库,负责 ‘从远程仓库下载依赖’
        hosted:宿主仓库,提供给我们 ‘手动上传’
        group:仓库组。聚合多个仓库
	 #描述具体仓库:
        3rd party:手动上传第三方依赖用
        central:从中央仓库下用的
        releases:内部项目的稳定版本
        shnapshot:内部项目的快照版本(开发版本)

	端口号:0~65535,我们都可以用
	
    1.加载进入配置文件该端口	
	2.启动,浏览器访问8089/nexus,进入导航页面
    3.登入,默认admin,admin123		
	
	私服上传:
	     3rd party  Artifact Upload  GAV上传方式
		 最后填写具体地址,完成上传
		 
	下载:配置镜像,添加私服依赖坐标	

    
        mvn项目自动上传:
      1.  配置依赖:	
   <distributionManagement>
       <repository>
   	   快照版
           <id>releases</id>
           <name>Internal Releases</name>
           <url>http://localhost:8085/nexus/content/repositories/releases/</url>
       </repository>
       <snapshotRepository>
   	   稳定版
           <id>snapshots</id>
           <name>Internal Snapshots</name>
           <url>http://localhost:8085/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
    </distributionManagement>	
         
      	  2.配置修改本地
        <server>
      		<id>releases</id>
      		<username>admin</username>
      		<password>admin123</password>
      	</server>
      	<server>
      		<id>snapshots</id>
      		<username>deployment</username>
      		<password>deployment123</password>
      	</server>
        </servers>
  

       3.最后mvn点击deploy
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55

9.常用插件:

    1.jdk编译1.8插件:
	      <!--插件配置-->
         <build>
             <plugins>
                 <!-- java 编译插件 -->
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
                     <version>3.2</version>
                     <configuration>
                         <source>1.8</source>
                         <target>1.8</target>
                         <encoding>UTF-8</encoding>
                     </configuration>
                 </plugin>
             </plugins>
         </build>
    2.tomcat7插件
         <plugins>
              <!--配置tomcat7插件-->
              <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                  <!-- tomcat 的端口号 -->
                  <port>8080</port>
                  <!-- 访问应用的路径 --> 
                  <path>/ssm</path>
                  <!-- URL按UTF-8进行编码,解决中文参数乱码 -->
                  <uriEncoding>UTF-8</uriEncoding>
                  <!-- tomcat名称 -->
                  <server>tomcat7</server>
                </configuration>
              </plugin>
         </plugins>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

10.关于meven聚合工程

  • 启动,打包都用聚合工程
  • tomcat等插件放在父工程
  • 每层的依赖分工明确

欢迎点赞关注收藏哦 ,码云搜索KakiNakajima

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号