maven 仓库如何使用 https://mvnrepository.com 镜像配置

本文介绍如何在Maven项目中配置特定的镜像仓库,以下载其他仓库中找不到的依赖包,如nuxeo-common工具包。通过从目标jar包的pom文件中获取镜像仓库配置,并将其加入项目的pom.xml文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven项目中经常使用 https://mvnrepository.com/ 镜像仓库查询,该仓库jar包比较全面,如何在项目中配置和该仓库使用同一个镜像仓库呢?
例如,我这里需要下载nuxeo-common 工具包,该工具包在其他仓库中没有,需要配置该仓库镜像到项目,首先搜索该jar包
在这里插入图片描述
然后进入到该jar包版本管理中,我这里下载5.4.0版本
在这里插入图片描述
点击包jar包进入,在files一栏中,选择下载jar包或者点击pom文件。
在这里插入图片描述
点击查看pom如下,可以看到该jar包使用的镜像仓库,将该镜像复制到项目中即可。
在这里插入图片描述

<!--仓库镜像-->
	<repositories>
		<repository>
			<id>public</id>
			<url>http://maven.nuxeo.org/nexus/content/groups/public</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
		<repository>
			<id>public-snapshot</id>
			<url>
				http://maven.nuxeo.org/nexus/content/groups/public-snapshot
			</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<updatePolicy>always</updatePolicy>
				<enabled>true</enabled>
			</snapshots>
		</repository>
		<repository>
			<id>public</id>
			<name>aliyun nexus</name>
			<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>public</id>
			<url>http://maven.nuxeo.org/nexus/content/groups/public</url>
			<name>Nuxeo virtual release repository</name>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
		<pluginRepository>
			<id>public-snapshot</id>
			<url>
				http://maven.nuxeo.org/nexus/content/groups/public-snapshot
			</url>
			<name>Nuxeo virtual snapshot repository</name>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<updatePolicy>always</updatePolicy>
				<enabled>true</enabled>
			</snapshots>
		</pluginRepository>
		<pluginRepository>
			<id>public</id>
			<name>aliyun nexus</name>
			<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>
<think>我们遇到了两个问题: 1.Maven中央仓库下载tika-parsers-standard-package:2.9.1时连接超时(可能是网络问题) 2. 无法解析该依赖(可能是由于该artifact在Maven中央仓库中不存在或名称错误) 实际上,在Tika的官方文档中,标准的解析器包通常是通过`tika-parsers`来引入的,而`tika-parsers-standard-package`这个artifactId可能并不存在。因此,第二个错误可能是关键:我们使用了错误的依赖。 让我们检查一下Tika的官方文档和Maven仓库: - Tika的官方Maven仓库信息:https://mvnrepository.com/artifact/org.apache.tika 在2.9.1版本中,我们可以看到以下artifacts: - tika-core - tika-parsers - tika-app (一个包含所有依赖的独立jar) - 等等 注意:并没有`tika-parsers-standard-package`这个artifact。因此,我们之前添加的依赖可能是错误的。 实际上,`tika-parsers`已经包含了所有标准的解析器(包括POI、PDFBox等)。所以,我们只需要依赖`tika-core`和`tika-parsers`即可,不需要额外的`tika-parsers-standard-package`。 所以,解决方案是: 1. 从pom.xml中移除`tika-parsers-standard-package`依赖。 2. 只保留`tika-core`和`tika-parsers`。 另外,关于连接超时的问题,可能是由于网络问题,我们可以尝试: - 使用国内镜像(如阿里云镜像)来加速下载 - 重试构建(可能是临时网络问题) 修改后的依赖部分: ```xml <!-- Apache Tika 依赖 --> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-core</artifactId> <version>${tika.version}</version> </dependency> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-parsers</artifactId> <version>${tika.version}</version> </dependency> ``` 完整的pom.xml(修正后)如下:</think>## 解决 Tika 依赖下载失败问题 您遇到的构建失败问题是由于 Maven 无法下载 `tika-parsers-standard-package` 依赖造成的。让我提供完整的解决方案: ### 问题分析 1. **连接超时错误**: ```bash Could not transfer artifact ... from/to central: Connect timed out ``` - 原因:网络问题导致无法连接到 Maven 中央仓库 - 解决方案:使用国内镜像仓库 2. **无法解析依赖**: ```bash Could not resolve dependency for org.apache.tika:tika-parsers-standard-package:2.9.1 ``` - 原因:该 artifact 在 Maven 中央仓库中不存在 - 解决方案:使用正确的依赖配置 ### 完整的 pom.xml 解决方案 ```xml <?xml version="1.0" encoding="UTF-8"?> <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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- 其他配置保持不变 --> <properties> <java.version>17</java.version> <!-- 使用最新 Tika 版本 --> <tika.version>2.9.1</tika.version> </properties> <repositories> <!-- 添加阿里云镜像解决下载问题 --> <repository> <id>aliyun-maven</id> <url>https://maven.aliyun.com/repository/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <dependencies> <!-- 其他依赖保持不变 --> <!-- 正确的 Tika 依赖配置 --> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-core</artifactId> <version>${tika.version}</version> </dependency> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-parsers</artifactId> <version>${tika.version}</version> </dependency> </dependencies> <!-- build 部分保持不变 --> </project> ``` ### 关键修正说明 1. **移除了不存在的依赖**: ```xml <!-- 错误依赖 --> <!-- <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-parsers-standard-package</artifactId> <version>${tika.version}</version> </dependency> --> <!-- 正确依赖 --> <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-parsers</artifactId> <version>${tika.version}</version> </dependency> ``` 2. **添加阿里云镜像仓库**: ```xml <repositories> <repository> <id>aliyun-maven</id> <url>https://maven.aliyun.com/repository/public</url> <!-- 启用 releases 和 snapshots --> </repository> </repositories> ``` ### 为什么 `tika-parsers-standard-package` 不存在 1. **历史背景**: - Tika 在 1.x 版本确实有 `tika-parsers-standard-package` - 从 Tika 2.0 开始,该模块被弃用并移除 - 官方文档:https://tika.apache.org/2.9.1/dependencies.html 2. **正确模块结构**: | 模块 | 作用 | 是否必需 | |------|------|---------| | `tika-core` | 核心功能 | ✅ | | `tika-parsers` | 所有解析器 | ✅ | | `tika-app` | 独立可执行JAR | ❌ | | `tika-bundle` | OSGi 支持 | ❌ | ### 替代解决方案:使用 tika-app 如果您需要包含所有依赖的完整包,可以使用 `tika-app`: ```xml <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-app</artifactId> <version>${tika.version}</version> </dependency> ``` 但注意:`tika-app` 会包含所有依赖,增加约 100MB 的 JAR 大小,通常不推荐用于生产环境。 ### 验证解决方案 1. **清理本地仓库缓存**: ```bash mvn dependency:purge-local-repository ``` 2. **强制更新依赖**: ```bash mvn clean install -U ``` 3. **检查依赖树**: ```bash mvn dependency:tree -Dincludes=org.apache.tika ``` 期望输出: ``` [INFO] --- maven-dependency-plugin:3.6.1:tree (default-cli) @ eduassistant --- [INFO] com.eduassistant:eduassistant:jar:0.0.1-SNAPSHOT [INFO] \- org.apache.tika:tika-parsers:jar:2.9.1:compile [INFO] \- org.apache.tika:tika-core:jar:2.9.1:compile ``` ### 网络问题解决方案 如果仍然遇到网络问题,配置全局 Maven 镜像: 1. **创建/修改 settings.xml**: ```bash # Linux/Mac nano ~/.m2/settings.xml # Windows notepad %USERPROFILE%\.m2\settings.xml ``` 2. **添加阿里云镜像**: ```xml <settings> <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/repository/public</url> </mirror> </mirrors> </settings> ``` ### 备用下载方案 如果 Maven 仍然失败,手动下载依赖: 1. **下载 Tika 依赖**: ```bash # tika-core curl -O https://repo1.maven.org/maven2/org/apache/tika/tika-core/2.9.1/tika-core-2.9.1.jar # tika-parsers curl -O https://repo1.maven.org/maven2/org/apache/tika/tika-parsers/2.9.1/tika-parsers-2.9.1.jar ``` 2. **安装到本地仓库**: ```bash mvn install:install-file -Dfile=tika-core-2.9.1.jar \ -DgroupId=org.apache.tika -DartifactId=tika-core \ -Dversion=2.9.1 -Dpackaging=jar mvn install:install-file -Dfile=tika-parsers-2.9.1.jar \ -DgroupId=org.apache.tika -DartifactId=tika-parsers \ -Dversion=2.9.1 -Dpackaging=jar ``` ### 验证 Tika 功能 创建简单的测试类验证 Tika 是否正常工作: ```java import org.apache.tika.Tika; import org.junit.jupiter.api.Test; import java.nio.file.Files; import java.nio.file.Paths; public class TikaTest { @Test void testTikaDetection() throws Exception { Tika tika = new Tika(); // 测试 PDF 类型检测 byte[] pdfBytes = Files.readAllBytes(Paths.get("sample.pdf")); String pdfType = tika.detect(pdfBytes); System.out.println("PDF type: " + pdfType); // 应输出 application/pdf // 测试文本提取 String text = tika.parseToString(Paths.get("sample.docx")); System.out.println("Extracted text: " + text.substring(0, 50) + "..."); } } ``` ### 常见错误处理 1. **`NoClassDefFoundError`**: - 原因:缺少依赖 - 解决方案:确保 `tika-parsers` 包含在内 2. **`TikaException: Unable to run script`**: - 原因:缺少 OCR 支持 - 解决方案:添加 Tesseract OCR 依赖(可选) ```xml <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika-parsers</artifactId> <version>${tika.version}</version> </dependency> ``` 3. **内存溢出**: ```java // 在代码中设置内存限制 Tika tika = new Tika(); tika.setMaxStringLength(10 * 1024 * 1024); // 10MB ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

starsky20

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值