gpt4 book ai didi

java - Azure + SpringBoot 'com/fasterxml/jackson/core/JsonFactory'

转载 作者:行者123 更新时间:2023-12-03 05:26:14 30 4
gpt4 key购买 nike

我正在开始使用 Java + SprintBoot + AzureStorage。我刚刚使用以下配置通过 Spring 初始化程序创建了一个项目:

spring project config

我正在尝试创建一个简单的休息方法来从 Azure 返回共享列表,但出现以下错误:

Exception Details:
Location:
com/fasterxml/jackson/databind/cfg/MapperBuilder.streamFactory()Lcom/fasterxml/jackson/core/TokenStreamFactory; @7: areturn
Reason:
Type 'com/fasterxml/jackson/core/JsonFactory' (current frame, stack[0]) is not assignable to 'com/fasterxml/jackson/core/TokenStreamFactory' (from method signature)
Current Frame:
bci: @7
flags: { }
locals: { 'com/fasterxml/jackson/databind/cfg/MapperBuilder' }
stack: { 'com/fasterxml/jackson/core/JsonFactory' }

据我所知,我的代码中没有什么特别的地方可以获取共享:

AzureStoreService

@Service
public class AzureStorageService {

@Value("${azure.storage.accountName}")
private String accountName;

@Value("${azure.storage.accountKey}")
private String token;

private ShareServiceClient createServiceClient() {
String shareURL = String.format("https://%s.file.core.windows.net", accountName);
return new ShareServiceClientBuilder().endpoint(shareURL).sasToken(token).buildClient();
}

public List<String> listShares() {
List<String> shares = new ArrayList<>(0);
ShareServiceClient client = createServiceClient();
client.listShares().forEach(item -> shares.add(item.getName()));
return shares;
}
}

AzureController

@RestController
@RequestMapping("/storage")
public class AzureController {

@Autowired
private AzureStorageService azureStorageService;

@GetMapping("/list-shares")
private ResponseEntity<List<String>> listShares() {
List<String> shares = azureStorageService.listShares();
return new ResponseEntity<>(shares, HttpStatus.OK);
}
}

我猜问题与 Spring Boot 和 Azure 之间的库版本冲突有关,但我应该保留哪一个以及如何保留。

您以前可能遇到过这个问题,欢迎任何提示/建议。

提前非常感谢!

最佳答案

如果你使用的是springboot,那么默认会添加jackson,

所以你手动添加的jackson版本可能与spring boot添加的版本冲突,

尝试从您的pom.xml中删除 Jackson 依赖项。

如果需要覆盖Spring Boot默认添加的版本,那么需要先排除它,然后添加自己的依赖。

<dependency> 
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.1</version>
</dependency>

关于java - Azure + SpringBoot 'com/fasterxml/jackson/core/JsonFactory',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68629485/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com