IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> maven知识总结 -> 正文阅读

[Java知识库]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>

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 10:59:34  更:2022-09-13 10:59:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 12:31:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码