Missing artifact com.alibaba:dubbo:jar:2.8.4 dubbo解决方案

本文介绍了如何手动编译 Dubbo 2.8.4 版本,包括从 GitHub 下载源码包、使用 Maven 进行编译并安装到本地仓库的过程。同时提供了配置离线约束及在 Eclipse 中添加 dubbo.xsd 的步骤。

由于maven中心仓库中没有dubbo2.8.4,所以需要到github中下载源码包自己编译。

1.下载dubbo,地址:https://github.com/dangdangdotcom/dubbox

下载解压后,进入解压目录执行命令:mvn install -Dmaven.test.skip=true

2.mvn install:install-file -Dfile=d:\xxx\dubbo-2.8.4.jar -DgroupId=com.alibaba -DartifactId=dubbo -Dversion=2.8.4 -Dpackaging=jar

3.注意,如果电脑里面有多个版本的Maven,一定要看一下,Dubbo安装到哪里了。

4.配置离线约束:http://code.alibabatech.com/schema/dubbo/dubbo.xsd

5.将dubbo.xsd配置到Eclipse
Eclipse - Window - perference - XML catalog - Add - 添加dubbo.xsd的路径。

6.在pom.xml中添加depency时,会报错,看一下自己的maven 中的resposity库中有没有dubbo 2.8.4.

dubbox 修改了kryo序列问题 at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.returnFromResponse(DefaultFuture.java:190) at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:110) at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:84) at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:96) at com.alibaba.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:144) at com.alibaba.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:74) at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:53) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:48) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91) at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53) at com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:77) at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:227) at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:72) at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52) at com.alibaba.dubbo.common.bytecode.proxy1.test(proxy1.java)
当遇到 'Missing artifact jdk.tools:jdk.tools:jar:1.7' 问题时,可参考以下解决方法: - **修改项目的 pom.xml 文件**:在依赖中增加如下部分,指定依赖范围为 `system`,并通过 `${JAVA_HOME}/lib/tools.jar` 来引用本地 JDK 中的 `tools.jar` 文件。 ```xml <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.7</version> <scope>system</scope> <systemPath>${JAVA_HOME}/lib/tools.jar</systemPath> </dependency> ``` 这种方式可使 Maven 项目正确引用到本地 JDK 中的 `tools.jar`,从而解决依赖缺失问题 [^1]。 - **在 pom.xml 中直接引入依赖**:在引入依赖时,可直接使用如下配置,但这种方式未指定 `scope` 和 `systemPath`,效果可能不如前者。 ```xml <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.7</version> </dependency> ``` 此配置简单引入依赖,但可能会因 Maven 仓库中没有该依赖而无法解决问题 [^2]。 - **修改 eclipse.ini 或 STS.ini 文件**:在 eclipse 安装路径下找到 `eclipse.ini` 或 `STS.ini` 文件并打开,在文件中找到 “-vmargs”,在其之前添加代码,将 `D:\tools\java\jdk1.7` 替换成自己的 `JAVA_HOME` 路径记录,以此让 IDE 正确识别 JDK 路径,进而解决依赖问题 [^3]。 - **在 pom.xml 中加入新依赖项目**:当编写 HBase - Java 代码,配置 Maven pom.xml 文件出现该问题时,可加入新依赖项目,使用绝对路径指定 `tools.jar` 文件位置。 ```xml <dependencies> <!--HBase依赖--> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>1.1.2</version> <scope>provided</scope> </dependency> <!--附加依赖--> <dependency> <groupId>jdk.tools</groupId> <artifactId>jdk.tools</artifactId> <version>1.7</version> <scope>system</scope> <systemPath>C:/Program Files/Java/jdk1.8.0_144/lib/tools.jar</systemPath> </dependency> </dependencies> ``` 此方法不仅解决 `jdk.tools` 依赖问题,还处理了 HBase 相关依赖 [^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值