Java Azure 服务总线在 运行 时抛出错误

Java Azure service bus throwing error at run time

注入构造函数时出错,java.lang.NoClassDefFoundError:com/azure/messaging/servicebus/ServiceBusClientBuilder

尝试使用依赖版本:7.0.2。

还尝试使用最新版本的 azure 服务总线依赖项导致运行时错误。

尝试了所有 Azure 服务总线依赖性问题仍然存在。

如果您使用的是 Eclipse,则创建一个 Java 控制台应用程序,将您的 Java 项目转换为 Maven: right-click Package Explorer 中的项目 window、select 配置 -> 转换为 Maven 项目。

然后,将这两个库的依赖添加到POM.xml文件中,如下例所示:

<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">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.myorg.sbusquickstarts</groupId>
    <artifactId>sbustopicqs</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <build>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <release>15</release>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>com.azure</groupId>
            <artifactId>azure-messaging-servicebus</artifactId>
            <version>7.7.0</version>
        </dependency>
    </dependencies>
</project>

参考以下示例代码将消息发送到服务总线队列:

import com.azure.messaging.servicebus.*;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.Arrays;
import java.util.List;

public class servicebusQueueSample{

static String connectionString = "<NAMESPACE CONNECTION STRING>";
static String queueName = "<QUEUE NAME>";

static void sendMessage()
{
    // create a Service Bus Sender client for the queue 
    ServiceBusSenderClient senderClient = new ServiceBusClientBuilder()
            .connectionString(connectionString)
            .sender()
            .queueName(queueName)
            .buildClient();

    // send one message to the queue
    senderClient.sendMessage(new ServiceBusMessage("Hello, World!"));
    System.out.println("Sent a single message to the queue: " + queueName);        
}
}

参考此 link 以获取 Java 的 Azure 服务总线示例客户端库。