将以下依赖项添加到extension/guacamole auth jdbc库时,应用程序的启动失败,并返回错误ClassNotFound for error。一定存在一些依赖关系冲突,但无法理解是哪个依赖关系导致了问题。
曾尝试使用azure-sdk-bom来删除azure依赖版本,但没有成功。
我也尝试过获取mvn依赖树,但大多数库的结果都与前面提到的azure依赖冲突。请帮助了解postgres jar是如何构建的
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.6.0</version>
</dependency>
<dependency>
<groupId>com.microsoft.graph</groupId>
<artifactId>microsoft-graph</artifactId>
<version>5.38.0</version>
</dependency>
引起原因:java.lang.ClassNotFoundException:org.apache.guacamole.auth.postgresql.PostgreSQLAuthenticationProvider
能够解决该问题。azure SDK在guacamole auth jdbc postgres模块中添加了一个可传递的依赖项。在childe模块pom(guacamole-authjdbc-postgres(中添加azure-sdk的排除列表解决了这个问题。
<!-- Guacamole JDBC Authentication -->
<dependency>
<groupId>org.apache.guacamole</groupId>
<artifactId>guacamole-auth-jdbc-base</artifactId>
<version>1.3.0</version>
<exclusions>
<exclusion>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
</exclusion>
<exclusion>
<groupId>com.microsoft.graph</groupId>
<artifactId>microsoft-graph</artifactId>
</exclusion>
</exclusions>
</dependency>