Closed gudehuang closed 1 year ago
@imbajin
和 jdk版本有关吗? 我使用了jdk1.8
项目只有两个依赖spring-boot-starter-web 和hugegraph-client;右侧依赖树没有看到有重复的依赖;
我根据错误提示"jakarta.ws.rs.ProcessingException;" 引入了jakarta.ws.rs-api依赖
<dependency>
<groupId>jakarta.ws.rs</groupId>
<artifactId>jakarta.ws.rs-api</artifactId>
<version>2.1.6</version>
</dependency>
2.1.6版本的包名是 javax.ws.rs
3.0.0版本的包名是 jakarta.ws.rs
引入3.0.0版本(包名是 jakarta.ws.rs) 运行报错
Caused by: java.lang.ClassNotFoundException: javax.ws.rs.core.Configurable
说明 hugegraph-client里的代码有同时用到 javax.ws.rs 和jakarta.ws.rs, 但只能引入jakarta.ws.rs-api的一个版本,这个问题怎么处理?
@zyxxoo 印象里兼容 java 11 的时候应该都换成 jakarta
了, 应该没有需要 javax
的地方了才对? (你从哪找到现在代码里有 javax.ws.rs
的? GitHub 搜了下似乎也没有)
jdk8 应该也可以兼容吧, 虽然不确定你是不是换 java 11 能正常, 你先看看你说的同时使用是哪的代码
@Bean public HugeClient hugeClient() { logger.info("huUrl:" + huUrl); logger.info("huGraph:" + huGraph); //HugeClient hugeClient = new HugeClient(huUrl, huGraph,username,password); HugeClient hugeClient = HugeClient.builder(huUrl, huGraph) .configUser(username, password) .build(); return hugeClient; }
跟 jdk 无关,估计可能跟 springboot 有关,可以 pom 中加下依赖试试
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>3.0.3</version>
</dependency>
建议升级 springboot 3.0
建议升级 springboot 3.0 @zyxxoo
升级springboot 3.0后,问题解决了.感谢解答!
springboot 3.0 jdk版本最少要求jdk17. 新版本hugegraph-client 现在是不支持springboot 2.0 和jdk 8 吗? 如果是,最好备注说明一下,避免重复踩坑
完整的pom
<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.0</version>
<!-- <version>2.6.7</version>-->
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.hugegraph</groupId>
<artifactId>hugegraph-client</artifactId>
<version>1.0.0</version>
</dependency>
<!-- jdk17缺少包-->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
@Bean public HugeClient hugeClient() { logger.info("huUrl:" + huUrl); logger.info("huGraph:" + huGraph); //HugeClient hugeClient = new HugeClient(huUrl, huGraph,username,password); HugeClient hugeClient = HugeClient.builder(huUrl, huGraph) .configUser(username, password) .build(); return hugeClient; }
跟 jdk 无关,估计可能跟 springboot 有关,可以 pom 中加下依赖试试
<dependency> <groupId>org.glassfish.jersey.core</groupId> <artifactId>jersey-client</artifactId> <version>3.0.3</version> </dependency>
在springboot 2 中 加入该依赖,运行还是会报错.
如果使用 jdk8 springboot2.X 目前如何解决? 上面提供的方法都不生效
如果使用 jdk8 springboot2.X 目前如何解决? 上面提供的方法都不生效
@mangoknight 有尝试使用 common-1.0.1 的版本么?(看相关issue,配置一下stage 仓库可拉取[当然也可以自己编译 common 1.0.1 的源码 install 到本地],然后exclude掉1.0.0的common 如果需要的话)
如果使用 jdk8 springboot2.X 目前如何解决? 上面提供的方法都不生效
@mangoknight 有尝试使用 common-1.0.1 的版本么?(看相关issue,配置一下stage 仓库可拉取[当然也可以自己编译 common 1.0.1 的源码 install 到本地],然后exclude掉1.0.0的common 如果需要的话)
尝试mvn install 1.0.1版本后,依旧报错,
<dependency>
<groupId>org.apache.hugegraph</groupId>
<artifactId>hugegraph-client</artifactId>
<version>1.0.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.hugegraph</groupId>
<artifactId>hugegraph-common</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hugegraph</groupId>
<artifactId>hugegraph-common</artifactId>
<version>1.0.1</version>
</dependency>
看起来 Jersey的版本 还是 老版本
如果使用 jdk8 springboot2.X 目前如何解决? 上面提供的方法都不生效
@mangoknight 有尝试使用 common-1.0.1 的版本么?(看相关 issue,配置一下 stage 仓库可拉取 [当然也可以自己编译 common 1.0.1 的源码 install 到本地],然后 exclude 掉 1.0.0 的 common 如果需要的话)
尝试 mvn install 1.0.1 版本后,依旧报错,
<dependency> <groupId>org.apache.hugegraph</groupId> <artifactId>hugegraph-client</artifactId> <version>1.0.0</version> <exclusions> <exclusion> <groupId>org.apache.hugegraph</groupId> <artifactId>hugegraph-common</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.hugegraph</groupId> <artifactId>hugegraph-common</artifactId> <version>1.0.1</version> </dependency>
看起来 Jersey 的版本 还是 老版本
(收到 mail 了) 那把具体的报错内容信息贴一下? 试试缩小问题范围, 试试如果一个单独的 clean 项目, 只引入 springboot2 + client1.0 + common1.0.1 看看, 然后再逐步增加现在的依赖看看冲突是哪引入的
如果连裸的 sp2 + client + common 组合都会报错, 那麻烦单独开个 issue (better for english description)
Bug Type (问题类型)
None
Before submit
Environment (环境信息)
Expected & Actual behavior (期望与实际表现)
项目pom
MyHugeConfig.java
运行时报错
项目jdk版本
项目结构
Vertex/Edge example (问题点 / 边数据举例)
No response
Schema [VertexLabel, EdgeLabel, IndexLabel] (元数据结构)
No response