java.lang.ClassNotFoundException:org.springframework.core.annotation.MergedAnnotations
我在使用ControllerLinkBuilder时遇到了一个问题,当我提供方法名时,它会在我不运行时抛出错误,并显示结果 错误似乎是jar问题,但我尝试了其他版本,但仍然是相同的“spring boot starter hateoas”,它没有;t识别RepresentationModel&ControllerLinkBuilderlinkTo的包java.lang.ClassNotFoundException:org.springframework.core.annotation.MergedAnnotations,java,spring,spring-boot,maven,spring-hateoas,Java,Spring,Spring Boot,Maven,Spring Hateoas,我在使用ControllerLinkBuilder时遇到了一个问题,当我提供方法名时,它会在我不运行时抛出错误,并显示结果 错误似乎是jar问题,但我尝试了其他版本,但仍然是相同的“spring boot starter hateoas”,它没有;t识别RepresentationModel&ControllerLinkBuilderlinkTo的包 @GetMapping("/{businessclass}/lists/_generic") public ResponseEntity<
@GetMapping("/{businessclass}/lists/_generic")
public ResponseEntity<POLineResponse> businessClass(@PathVariable final String businessclass,
@RequestParam String _fields, @RequestParam("company") String company) {
logger.info("Entering into businessClass {} params{} ",businessclass, _fields);
Page<PurchaseOrderLineDTO> page= mockFsmService.generateMockPurchaseOrderLines();
POLineResponse polR = new POLineResponse (page.getContent(),page.getTotalElements());
//polR.add(linkTo(LoadTestController.class).businessClass(businessclass,_fields,company)).withSelfRel();
//polR.add(ControllerLinkBuilderlinkTo(LoadTestController.class).withSelfRel());
Link selfLink = ControllerLinkBuilder.linkTo(methodOn(LoadTestController.class).businessClass(businessclass, _fields, company))
.withSelfRel();
polR.add(selfLink);
return new ResponseEntity<>(polR, HttpStatus.OK);
}
@GetMapping(“/{businessclass}/lists/_generic”)
public ResponseEntity businessClass(@PathVariable最终字符串businessClass,
@RequestParam字符串_字段,@RequestParam(“公司”)字符串公司){
info(“输入businessClass{}参数{}”,businessClass,_字段);
Page Page=mockFsmService.generateMockPurchaseOrderLines();
POLineResponse polR=新的POLineResponse(page.getContent(),page.getTotalElements());
//polR.add(linkTo(LoadTestController.class).businessClass(businessClass,_字段,company)).withSelfRel();
//add(ControllerLinkBuilderlinkTo(LoadTestController.class).withSelfRel());
Link selfLink=ControllerLinkBuilder.linkTo(methodOn(LoadTestController.class).businessClass(businessClass,_字段,公司))
.with selfrel();
polR.add(selfLink);
返回新的响应状态(polR,HttpStatus.OK);
}
依赖性
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-commons</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.hateoas/spring-hateoas -->
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>1.0.3.RELEASE</version>
</dependency>
org.springframework.data
spring数据共享
2.2.0.1发布
org.springframework.hateoas
春风
1.0.3.1发布
马文波姆
<?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 http://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>2.1.4.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.demo.cloudproj</groupId>
<artifactId>cloudproj-loadtest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>cloudprojloadtest</name>
<description>cloudprojLoadTest</description>
<properties>
<java.version>12</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>4.1</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId> json-simple</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>io.codearte.jfairy</groupId>
<artifactId>jfairy</artifactId>
<version>0.5.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-hateoas</artifactId>
<version>1.2.2.RELEASE</version>
</dependency>
</dependencies>
<build>
<!--resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering>
<excludes> <exclude>**/*.properties</exclude> </excludes> </resource> </resources -->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<addResources>false</addResources>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings
only. It has no influence on the Maven build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-antrun-plugin
</artifactId>
<versionRange>
[1.8,)
</versionRange>
<goals>
<goal>run</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
4.0.0
org.springframework.boot
spring启动程序父级
2.1.4.1发布
com.demo.cloudproj
cloudproj负载测试
0.0.1-快照
cloudprojloadtest
cloudprojLoadTest
12
org.springframework.boot
SpringBootStarterWeb
com.opencsv
opencsv
4.1
com.googlecode.json-simple
简单json
1.1
org.apache.poi
poi ooxml
3.9
com.fasterxml.jackson.core
杰克逊数据绑定
com.google.code.gson
格森
com.fasterxml.jackson.core
杰克逊数据绑定
io.codearte.jfairy
jfairy
0.5.0
org.springframework.boot
弹簧靴启动器hateoas
1.2.2.1发布
org.springframework.boot
springbootmaven插件
假的
org.apache.maven.plugins
maven资源插件
org.eclipse.m2e
生命周期映射
1.0.0
org.apache.maven.plugins
maven antrun插件
[1.8,)
跑
能否再次添加以下依赖项并运行应用程序
<dependency>
<groupId>org.springframework.hateoas</groupId>
<artifactId>spring-hateoas</artifactId>
<version>0.25.1.RELEASE</version> //you can add latest version or down
</dependency>
<dependency>
<groupId>org.springframework.plugin</groupId>
<artifactId>spring-plugin-core</artifactId>
<version>1.0.3.RELEASE</version> //you can add latest version or down
</dependency>
org.springframework.hateoas
春风
0.25.1.RELEASE//您可以添加最新版本或更低版本
org.springframework.plugin
spring插件核心
1.0.3.RELEASE//您可以添加最新版本或下载
您至少应该使用Spring Boot 2.2。这样,您就可以使用Spring Boot starter hateoas
,它引入了Spring hateoas 1.0,该版本具有RepresentationModel
等功能
该版本还依赖于Spring Framework 5.2,它需要利用
MergedAnnotations
。使用Boot 2.1将使您处于较旧版本的Framework上,因此会导致各种问题。不要做“标记”垃圾邮件,不要将错误作为图像发布,只需将其作为文本包含在问题中。您的pom中是否指定了任何父项?合并注释似乎位于spring core依赖项中,因此如果spring boot不是父项,则您需要自行包含core。如果您使用spring boot,为什么要手动添加依赖项?这是将导致框架的不兼容版本。@M.Deinum是的,您是对的,但当我添加时,它显示编译问题,而RepresentationModel和ControllerLinkBuilder显示编译时间error@M.Deinum有什么建议吗?添加属于您正在使用的spring启动版本的建议。事实上,您还手动添加了spring-data commons
让我想知道还有什么。看起来您的依赖关系很混乱。一件事是为什么在类路径上有3个json库?找到了为什么RepresentationModel不能正常工作的答案