springboot 2.1.1+dubbo 2.7.5
首先,引入一下依赖
<!-- Dubbo Spring Boot Starter -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>2.7.5</version>
</dependency>
<!--引入zookeeper的客户端工具-->
<!-- https://mvnrepository.com/artifact/com.github.sgroschupf/zkclient -->
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
编写服务提供者:
public interface TicketService {
public String getTicket();
}
import org.apache.dubbo.config.annotation.Service;
import org.springframework.stereotype.Component;
/**
* 1、将服务提供者注册到注册中心
* 1)、引入dubbo和zkclient相关依赖
* 2)、配置dubbo扫描的包和注册地址
* 3)、使用@Service发布服务
*/
@Service //将服务发布出去
@Component
public class TicketServiceImpl implements TicketService {
@Override
public String getTicket() {
return "《厉害了,我的国》";
}
}
application.properties
dubbo.application.name=provider-ticket
dubbo.registry.address=zookeeper://130.59.252.202:2181
dubbo.scan.base-packages=com.atguigu.ticket.service
启动应用发现报错:
2020-01-07 16:43:21.482 ERROR 5354 --- [ main] o.s.boot.SpringApplication : Application run failed
java.lang.NoClassDefFoundError: org/apache/curator/framework/CuratorFrameworkFactory
at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperClient.<init>(CuratorZookeeperClient.java:66) ~[dubbo-2.7.5.jar:2.7.5]
at org.apache.dubbo.remoting.zookeeper.curator.CuratorZookeeperTransporter.createZookeeperClient(CuratorZookeeperTransporter.java:26) ~[dubbo-2.7.5.jar:2.7.5]
at org.apache.dubbo.remoting.zookeeper.support.AbstractZookeeperTransporter.connect(AbstractZookeeperTransporter.java:68) ~[dubbo-2.7.5.jar:2.7.5]
at org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter$Adaptive.connect(ZookeeperTransporter$Adaptive.java) ~[dubbo-2.7.5.jar:2.7.5]
at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfiguration.<init>(ZookeeperDynamicConfiguration.java:70) ~[dubbo-2.7.5.jar:2.7.5]
at org.apache.dubbo.configcenter.support.zookeeper.ZookeeperDynamicConfigur