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学习记录

1.mvn clean只能清除target文件夹?

答案是否定的,清除哪个文件夹是可以自己配置,只是默认清除target文件夹,只需要在pom.xml配置需求清除文件夹的路径即可,可以试试clean把整个C盘删了😄。

Apache Maven Clean Plugin – Delete Additional Files Not Exposed to Maven

        <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.0.0</version>
                <configuration>
                    <!--<skip>true</skip>-->
                    <!--<failOnError>false</failOnError>-->
                    <!--当配置true时,只清理filesets里的文件,构建目录target不会被删除.默认是flase.-->
                    <excludeDefaultDirectories>true</excludeDefaultDirectories>
                    <filesets>
                        <fileset>
                            <!--要清理的目录位置-->
                            <directory>${basedir}</directory>
                            <!--默认有些文件是不会被清理的,比如.svn文件,如果设置成false,则全部按照自定义的来处理-->
                            <useDefaultExcludes>true</useDefaultExcludes>
                            <!--对这些文件进行清理-->
                            <includes>
                                <include>target2/*</include>
                            </includes>
                            <!--对这些文件不清理-->
                            <excludes>
                                <exclude>**/*.ttt</exclude>
                            </excludes>
                        </fileset>
                    </filesets>
                </configuration>
            </plugin>  

默认情况

?配置了之后

?

?2.-Dmaven.test.skip=true&-DskipTests=true区别

我们在打jar包的时候经常会跳过测试执行,上面的参数都是跳过测试,但是它们为完成这一目标选择的方式不同。

-Dmaven.test.skip:跳过测试类的编译、执行

-DskipTests:编译测试类,但是不执行

mvn -DskipTests=true clean package打包项目

?mvn -Dmaven.test.skip=true clean package

?当打包项目遇到测试类报错又不想修改时,可以使用-Dmaven.test.skip=true来完成打包。

3.install和package的区别

install比package多做了一步,把项目打包的结果jar/war放到本地仓库相应目录中,供其他项目或模块引用。

install打包多了这一步

4.maven打出来的jar包和jar.original有什么区别

jar.original是普通jar包,不包含依赖

jar是可执行jar包,包含了pom中的所有依赖,可以直接用java -jar命令执行

mvn package第一次打包的时候先生成jar其实就是最后的jar.original,然后repackage再次打包为可执行的jar包。

?可以把jar.original的“.original”去掉重新变为jar,然后用解压软件打开,就可以看到最后两个jar的区别了。

?

5.版本依赖原则

5.1第一声名优先原则

?5.2路径近者优先原则

5.3排除原则

引用的A、Bjar包依赖C的不同版本,可以使用exclusions排除其中一个jar包的C.jar

5.4版本锁定原则

在pom.xml里面写dependencyManagement标签,定义自己所依赖的jar包版本

?

?

?

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-10-11 17:22:52  更:2021-10-11 17:25:42 
 
开发: 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 22:24:18-

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