我的环境:
$ mvn -v Apache Maven 3.8.2 (NON_CANONICAL) Maven home: /opt/maven Java version: 1.8.0_292, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-8-openjdk/jre Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "5.10.68-1-manjaro", arch: "amd64", family: "unix"
无法自动下载lib包下的openjdk-1.8-jconsole.jar和openjdk-1.8-tools,导致报错The following artifacts could not be resolved: com.sun:tools:jar:1.8, com.sun:jconsole:jar:1.8: Could not find artifact com.sun:tools:jar:1.8 at specified path /home/data/MavenRepo/com/alibaba/druid/1.1.21/lib/openjdk-1.8-tools.jar,手动下载这两个jar,并放到com/alibaba/druid/1.1.21/lib才行。
原提问者GitHub用户ChenSino
在 Maven 中,通常会将项目的依赖项打包在 jar 文件中,而不是将依赖项作为单独的文件下载到 lib 文件夹中。因此,如果您下载了一个依赖项的 jar 文件,那么它通常应该包含了所有的依赖项。
但是,在某些情况下,可能会存在一些依赖项没有被正确地包含在 jar 文件中。这可能是由于 Maven 依赖项的配置不正确或者下载依赖项的仓库出现了问题。在这种情况下,您可以尝试手动下载缺失的依赖项,并将其添加到项目的依赖项中。
<dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> <version>1.8</version> <scope>system</scope> <systemPath>${basedir}/lib/openjdk-1.8-tools.jar</systemPath>
和
<dependency> <groupId>com.sun</groupId> <artifactId>jconsole</artifactId> <version>1.8</version> <scope>system</scope> <systemPath>${basedir}/lib/openjdk-1.8-jconsole.jar</systemPath>
这两个依赖将会下载openjdk-1.8-jconsole.jar和openjdk-1.8-tools.jar,并将它们添加到Druid的classpath中。
根据您的描述,您遇到了Maven无法自动下载openjdk-1.8-jconsole.jar
和openjdk-1.8-tools
的问题。这可能是因为这些包没有在Maven的远程仓库中找到。您可以按照以下步骤手动下载这两个JAR文件并放置到相应的目录中:
openjdk-1.8-jconsole.jar
和 openjdk-1.8-tools.jar
文件。/home/data/MavenRepo/com/alibaba/druid/1.1.21/lib
目录下。完成上述步骤后,请重新执行您的 Maven 构建命令,应该不再报错。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。