maven知识总结

传统开发项目问题没有使用maven管理的项目

①很多模块之间有关系 手工化管理 手工管理化 比较繁琐

②需要很多第三方功能 需要很多jar文件 手工从网络中获取各个jar包

③管理jar文件之间的依赖 你的项目要使用a.jar和b.jar包里的类 必须首先获取b.jar才可以 然后才可以用a.jar

需要改进项目的开发和管理 需要maven

①maven可以管理jar文件

②自动下载jar和他的文档源代码

③管理jar直接依赖 a.jar需b.jar maven自动下载b.jar

④管理自己的jar版本

⑤编译程序 把java编译为class

⑥测试代码是否则正确

⑦帮你打包文件形成jar文件或者war文件

⑧帮你部署项目

构建:

①清理:把之前的项目编译的东西删除掉 为新的编译代码做准备

②编译:maven可以同时把成百上千个文件 编译为class文件

③测试:maven可以同时执行多个测试代码同时测试很多功能

④生成报告:生成测试结果的文件

web生成war文件

maven核心概念:

①pom

②约定的目录结构

③坐标

④依赖的管理

⑤仓库管理

⑥声明周期

⑦插件和目标

⑧继承

⑨聚合

pom.一个文件名称是pom.xml pom即项目对象模型

①maven把一个项目当作一个模型使用 控制maven构建项目过程管理jar依赖

②约定的目录结构:maven项目和位置是规定的

③坐标:是一个唯一的字符串 用来表示资源的

④依赖管理 :管理项目可以使用的jar文件

执行maven构建时候用的工具是插件

通过命令使用maven(了解)

在idea中设置maven 让idea和maven结合使用 idea内置了maven 一般不使用内置的 因为修改maven设置不方便 下载好的放在了

D:\Maven    apache-maven-3.8.4       maven-repository(仓库)

使用自己安装的maven需要覆盖idea中的默认设置 让idea指定maven安装位置等信息

配置入口 ①配置当前的工程的设置file-settings-build,Exution deployment

maven Home dicetory maven的安装目录

User Settings File maven的安装目录cont/settings

runn下设置   -DarchetypeCatalog=internal  防止下载模板文件 占内存大 创建项目快

**

Assert.assertEquals(期望值,实际值);

junit测试

ieda创建web项目 file-model-maven org.apache.maven.aecehgntype -webapp

SDK为1.8 version1.8.0.91

约定的目录结构:

src和pom.xml平级

src/main java:主程序Java文件 resource(资源):配置文件 例如 mysql的配置文件

src/test java:测试程序代码的 resource:测试使用的配置文件

依赖: (dependency):maven 管理依赖 使用依赖把jar包导入你的项目中

使用模板创建项目:

maven–archetype -quikestart 普通的Java项目

maven–archetype-webapp web工程

添加servelt依赖和Jsp依赖:

<!--    添加servlet依赖-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
<!-- 添加jsp依赖-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
小技巧:pom.xml右击选择可以刷新文件
 <scope></scope>  依赖范围

通过创建的文件夹右击选择 mark Diretoryas设置

导入其他模块通过项目结构

provided提供者

jar包本地仓库没有的话 maven自动下载

mave常用操作:

①maven的属性设置设置maven的常用属性

②自定义全局变量一般是定义依赖的版本号 当你的项目中要使用多个相同的版本号先使用全局变量定义再使用${变量名}

<!--    自定义全局配置  把标签名字填充到需要使用版本的地方-->
    <junit.version>4.11</junit.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>

version (版本)


maven编译资源插件

我们的程序需把一些文件放在src/main/java目录中 当执行Java程序的时候 需要使用src/main/java目录中的文件 需要告诉maven 需要把同文件一同拷贝到target/calss目录中时就需在中加入

配置完成之后 点击清理target 然后点击complie(编译)即可拿到文件

<!--  编译资源插件-->
  <build>
    <resources>
      <resource>
        <!--        所在目录-->
        <directory>src/main/java</directory>
        <includes><!--包括目录下的.properties,.xml文件都会扫描到-->
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <!--        选项false不启用过滤器,*.properties已经起到过滤作用了-->
        <filtering>false</filtering>
      </resource>
    </resources>
  </build>
D:\Maven\apache-maven-3.8.4\conf\settings.xml 设置配置文件
 <!-- 阿里云仓库 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>![img](file:///C:\Users\86151\AppData\Roaming\Tencent\QQTempSys\8LDO48C$8@[GWU0353$FOVS.png)http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror> 

 <!-- java版本 --> 
<profile>
	 <id>jdk-1.8</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>
 
<properties>
    <!--        maven构建项目时一些编码的方式-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--    编译代码使用的jdk版本-->
    <maven.compiler.source>1.8</maven.compiler.source>
<!--    运行程序使用的jdk版本-->
    <maven.compiler.target>1.8</maven.compiler.target>
<!--    自定义全局配置  把标签名字填充到需要使用版本的地方-->
    <junit.version>4.11</junit.version>
  </properties>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
<!--    添加servlet依赖-->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
<!-- 添加jsp依赖-->
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
<!--  编译资源插件-->
  <!--  添加插件-->
  <build>
    <resources>
      <resource>
        <!--        所在目录-->
        <directory>src/main/java</directory>
        <includes><!--包括目录下的.properties,.xml文件都会扫描到-->
          <include>**/*.properties</include>
          <include>**/*.xml</include>
        </includes>
        <!--        选项false不启用过滤器,*.properties已经起到过滤作用了-->
        <filtering>false</filtering>
      </resource>

      <resource>
        <directory>src/main/Java</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
      <!--      idea编译Java程序时默认只编译resources目录下的mapper文件,
              所以如果你的mapper文件放在非resources目录下那么要在pom文件下增加一个配置,
                  否则无法自动映射对应的mapper文件。-->
      <resource>
        <directory>src/main/resources</directory>
        <includes>
          <include>**/*.* </include>
        </includes>
      </resource>
    </resources>
  </build>
</project>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值