当前位置: 首页 > article >正文

Maven 如何下载依赖包的源码包

使用Maven下载依赖包的时候, 默认是不会下载源码包的,但是有时候, 需要Debug代码,或是看看依赖项的源码的写法, 就需要下载源码包了。

这里以 Apache 的 commons-text 为例, 在Maven中添加如下依赖配置:

		<dependency>
		    <groupId>org.apache.commons</groupId>
		    <artifactId>commons-text</artifactId>
		    <version>1.10.0</version>
		</dependency>

在命令行中切换到pom.xml 的路径, 使用 mvn compile 编译项目的时候会下载依赖项, 下载完成后,在本地库的文件中可以看到, 依赖包的目录中是不包含源码文件的。如下图所示:

在这里插入图片描述

但是如果是在Eclipse中,使用Maven更新项目的时候,会把源码包下载下来。

Eclipse 中Maven更新项目的方式是: 右键单击项目, 选择Maven , 选择Update Project …, 如下图:

在这里插入图片描述

执行完成之后的目录结果如下:

在这里插入图片描述

可以看到, 在Eclipse 中使用Maven 更新项目之后, 源码包被下载下来了。

Eclipse 默认下载源码包的原因

Eclipse 中为什么会默认下载源码包呢? 从Eclipse 中Maven的设置就可以看出端倪。

选择Windows菜单, 点击 “Preference”, 在左边导航栏找到Maven , 可以看到一个选项被勾选了: Download Artifact Sources (下载构建的源码)。如下图所示:

在这里插入图片描述

从这里可以得到一些启示, 是否下载源码包, 是可以通过Maven的命令选项进行控制的。

设置下载源码的方式

设置下载源码包, 可以又多种方式。

  1. Maven命令行选项

mvn dependency:sources

mvn dependency:sources -DdownloadSources=true -DdownloadJavadocs=true

上面的两个命令都可以实现下载项目的所有依赖包及其源码包。

  1. Eclipse 设置下载依赖包

在 Windows > Preferences > Maven, 勾选 Download Artifact Sources ,则在pom.xml添加依赖之后, 通过Eclipse触发下载依赖包的同时,也会将源码包下载下来。

  1. 配置 settings.xml

还可以通过配置 Maven的设置文件 settings.xml, 在该文件中添加如下内容:

  <profiles>
    <profile>
      <id>downloadSources</id>
      <properties>
          <downloadSources>true</downloadSources>
          <downloadJavadocs>true</downloadJavadocs>           
      </properties>
    </profile>
</profiles>

<activeProfiles>
  <activeProfile>downloadSources</activeProfile>
</activeProfiles>

完整的文件类似:

在这里插入图片描述

下载某个依赖的源码包

下载项目的所有依赖包,对于本地空间来说,有时候有点浪费, 毕竟不是每个源码包都会使用, 如果只想下载某一个依赖包的源码包要怎么操作呢?
Eclipse 中提供了这个功能。
找到项目的Maven Dependecies , 选取对应的jar,右键单击 Maven > download sources, 如下图示:
在这里插入图片描述




http://www.kler.cn/a/15170.html

相关文章:

  • 英语中do(做没做)和can(有能力/资格做)的区分
  • Java-异步方法@Async+自定义分布式锁注解Redission
  • 【c++丨STL】list的使用
  • java基础知识全集(一篇看到爽)(持续更新中)
  • 5.4.2-1 编写Java程序在HDFS上创建文件
  • 人工智能的未来展望与挑战
  • 2023年第二十届五一数学建模竞赛题目 C题详细思路
  • [最小距离的最大值] 跳石头
  • node(express框架)连接mysql 基础篇
  • 数据结构——求二叉树的属性
  • 制造策略 ETO、MTO、ATO、MTS
  • 09 【Sass语法介绍-函数指令】
  • 原理这就是索引下推呀
  • ChatGPT能让智能客服更上一层楼么?
  • Mac 地址与 IP 地址有什么区别?
  • RocketMQ第二节(安装和模块详解)
  • TCP分岔:优化云服务的性能
  • 入局生成式AI,看好亚马逊(AMZN)中期表现
  • Superset整合keycloak系统
  • linux平台移植qt
  • 浅谈欧拉定理及其扩展
  • 重写Qt中的Widget移动事件
  • 大好河山集团董事长黄国林受邀出席2023中国好公司高峰论坛暨产学研合作峰会
  • 快速理解哈希(Hash)表的运作原理
  • C++语言亚马逊国际获取AMAZON商品详情 API接口(
  • 7.3 股票分析(project)