Maven学习相关知识点

/src/main/java/            java源码

/src/main/resource     java各种配置文件,资源文件

/src/main/webapp      web各种源文件,格式文件如css,js,html,jsp等

/src/test/java               java测试代码

/target                        文件编译过程中生成的.class文件,jar,war等

基本命令

mvn -v 查看maven版本klj
compile 编译
test 测试
package 打包
clean 删除target
install 安装jar包到本地仓库中
创建目录的两种方式:
1. mvn archetype:generate按照提示选择
2. mvn archetype:generate -DgroupId=组织名 -DartifactId=项目名-模块名 -Dversion=版本号 -Dpackage=代码所存在的包名

通过坐标生成依赖

仓库
    本地仓库和远程仓库
镜像仓库
    更改仓库位置 修改conf/settings.xml中localRepository
    
完整的项目构建过程包括:
清理、编译、测试、打包、集成测试、验证、部署

maven生命周期:clean 清理项目 default 构建项目 site 生成项目站点
三个生命周期相互独立

default 构建项目(核心) compile test package install

site生成项目站点
    pre-site 在生成项目站点前要完成的工作
    site 生成项目的站点文档
    post-site 在生成项目站点后要完成的工作
    site-deploy 发布生成的站点到服务器上
    
传递依赖:简单讲就是间接依赖关系,比如:B依赖A,C依赖B,那么C也就依赖A了,C和A的依赖关系就是传递依赖。
Maven对于依赖的管理是这样的,当在POM.XML文件中发现配置了,某个依赖,就先去自己本地的依赖仓库中去找对应的依赖,如果没找到,就去Maven的中央依赖仓库中去找,如果还是没找到,就会生气报错。
对于项目而言,比如上面的例子A/B/C我们需要在B的POM.XML依赖关系中配置上A的坐标,

解决依赖冲突 最短路径优先和先声明先优先


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">
  <!-- 指定当前pom的版本 -->
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.tzxy.mavenTest</groupId>
  <artifactId>mavenTest</artifactId><!-- 项目名+模块名 -->
  <version>0.0.1-SNAPSHOT</version>
  <!-- 第一个0表示大版本号、第二个0表示分支版本号、
  第三个0表示小版本号 例如0.0.1 snapshot(快照) alpha(内部测试) beta(公测)
  release(稳定版)GA(正式发布) -->

  <packaging>jar</packaging><!-- 项目打包方式 默认是jar 其他war zip pom-->
    
  <name>mavenTest</name><!--项目描述名  -->
  <url>http://maven.apache.org</url>
    <description>项目描述</description>
    <developers></developers>
    <licenses></licenses>
    <organization></organization>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <dependencies>
    <dependency><!-- 通过坐标指定依赖位置 -->
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <!-- <type></type> -->
      <scope>test</scope><!--测试域,其他域例如compile,provided等等,详解见官网文档 -->
      <!-- 设置依赖是否可选 -->
      <optional></optional>
      <!-- 排除依赖传递列表 -->
      <exclusions>
          <exclusion></exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <!-- 依赖的管理 -->
  <dependencyManagement>
      <dependencies>
          <!-- <dependency></dependency> --><!-- 不会被运行,定义在父模块,子模块继承它 -->
      </dependencies>
  </dependencyManagement>
  <build>
      <plugins>
          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <artifactId>maven-source-plugin</artifactId>
              <version>2.4</version>
              <executions>
                  <execution>
                      <phase>package</phase>打包时生成source jar包
                      <goals>
                          <goal>jar-no-fork</goal>
                      </goals>
                  </execution>
              </executions>
          </plugin>
      </plugins>
  </build>
  <!-- 记录着父模块的配置信息 -->
  <!-- <parent></parent> -->
  <!-- 聚合多个模块 -->
  <modules>
      <!-- <module></module> -->
  </modules>
</project>


我们用maven搭建项目时,其内嵌的tomcat的编码不一定是utf-8,如果运行项目时有乱码可以在tomcat插件中手动添加配置,如下所示:

<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<uriEncoding>UTF-8</uriEncoding>
<server>tomcat</server>
</configuration>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值