could not find artifact org.glassfish:javax.el:pom:3.0.1-b06-snapshot in apache.snapshots (https://repository.apache.org/snapshots)
时间: 2023-05-02 08:03:06 浏览: 307
无法在 apache.snapshots (https://repository.apache.org/snapshots)中找到 org.glassfish:javax.el:pom:3.0.1-b06-snapshot 的构件。
相关问题
Could not find artifact org.glassfish.web:jakarta.tags.core:pom:2.0.0 in central (https://repo.maven.apache.org/maven2)任何解决
<think>好的,我现在要解决用户提到的Maven构建时找不到org.glassfish.web:jakarta.tags.core:2.0.0的问题。首先,我需要确认这个依赖是否存在,以及它的正确坐标是什么。
用户提到他们使用的是jakarta.tags.core的2.0.0版本,但可能在中央仓库中没有这个版本。我记得Jakarta EE的包名和groupId可能发生了变化。原来的javax包迁移到jakarta后,可能由不同的组织维护,比如Eclipse Foundation。例如,jakarta.servlet.jsp.jstl-api的依赖属于jakarta.servlet.jsp.jstl组,而不是org.glassfish.web。所以用户可能混淆了groupId。
接下来,我需要检查Maven中央仓库是否存在这个依赖。访问https://search.maven.org/搜索org.glassfish.web:jakarta.tags.core,可能发现没有2.0.0版本。正确的jakarta.servlet.jsp.jstl-api的版本是2.0.0,属于groupId jakarta.servlet.jsp.jstl。所以用户应该更新他们的pom.xml中的依赖项,使用正确的groupId和artifactId。
另外,用户可能在配置taglib时引用了旧的URI,导致爆红。正确的URI应该是jakarta.tags.core对应的URI,或者检查是否导入了正确的依赖。
可能的解决方案包括:检查并更正依赖的groupId和artifactId,添加正确的仓库配置,或者检查是否有拼写错误。此外,用户可能需要更新项目中的标签库声明,使用新的Jakarta命名空间。
最后,建议用户确认依赖配置,并参考官方文档或Maven仓库的信息来确保坐标正确。如果问题仍然存在,可能需要检查网络连接或代理设置,确保能够访问中央仓库。</think>关于Maven构建时找不到$org.glassfish.web:jakarta.tags.core:2.0.0$的问题,以下是分步解决方案:
### 问题原因
Jakarta EE规范升级后,部分依赖的坐标和命名空间发生了变化。旧版$org.glassfish.web$组下的依赖已被迁移到新的$jakarta.servlet.jsp.jstl$命名空间下[^3]。
### 解决方案
1. **修正依赖坐标**
在pom.xml中使用Jakarta EE 9+标准的依赖声明:
```xml
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>2.0.0</version>
</dependency>
```
2. **添加JSTL实现依赖**
需要同时添加API和实现:
```xml
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>2.0.0</version>
</dependency>
```
3. **检查JDK版本配置**
确保pom.xml中已正确配置JDK 17+:
```xml
<maven.compiler.source>17.0.6</maven.compiler.source>
<maven.compiler.target>17.0.6</maven.compiler.target>
```
如未生效,可添加profile强制指定[^2]
4. **更新taglib声明**
JSP页面中应使用新的URI:
```jsp
<%@ taglib prefix="c" uri="jakarta.tags.core" %>
```
### 验证步骤
执行以下命令强制更新依赖:
```bash
mvn clean install -U
```
Could not find artifact org.apache.hadoop:hadoop-MapReduce-client-core:pom:2.7.7 in central (https://repo.maven.apache.org/maven2) Could not find artifact org.apache.hadoop:hadoop-MapReduce-client-core:pom:2.7.7 in central (https://repo.maven.apache.org/
这个错误提示意味着 Maven 无法在默认的 Maven 仓库中找到 "org.apache.hadoop:hadoop-MapReduce-client-core:pom:2.7.7" 这个依赖。这可能是因为你的 Maven 配置中没有正确指定所需的 Maven 仓库。
你可以尝试添加一个 Maven 仓库,以便能够下载所需的依赖。你可以在你的 Maven 配置文件(pom.xml)中添加以下代码块:
```
<repositories>
<repository>
<id>apache</id>
<url>https://repository.apache.org/content/repositories/releases/</url>
</repository>
</repositories>
```
这个代码块指定了 Apache 的 Maven 仓库,它包含了许多 Apache 的项目和依赖。如果你的依赖在这个仓库中可用,那么 Maven 将会从这个仓库下载它。
如果你的依赖不在 Apache 的 Maven 仓库中,那么你需要查找它所在的仓库并将其添加到你的 Maven 配置文件中。
阅读全文
相关推荐
















