首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven.中缺少的方法: org.springframework.hateoas:spring-hateoas:1.0.0.M3库实体链接类

Maven.中缺少的方法: org.springframework.hateoas:spring-hateoas:1.0.0.M3库实体链接类
EN

Stack Overflow用户
提问于 2019-07-22 09:09:24
回答 1查看 2.5K关注 0票数 2

我正在编写一个使用Spring HATEOAS的Spring Boot应用程序。当我想要使用hateoas库中的EntityLinks对象时-根据文档,它缺少应该可用的方法。我尝试使用的方法是linkForSingleResource()

我猜这是一个依赖版本问题。我查看了Migrating to Spring HATEOAS 1.0 ,他们让你下载并运行一个脚本,但它不能运行。

这是我的pom文件(我采用了一些其他依赖项以使其更简短):

代码语言:javascript
复制
<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.2.0.M4</version>
        <relativePath /> 
    </parent>
    <dependency>
        <groupId>org.springframework.hateoas</groupId>
        <artifactId>spring-hateoas</artifactId>
        <version>2.2.0.M4</version>
    </dependency>
    <!-- Added starter-hateoas as @Gabriel suggested -->
    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-hateoas</artifactId>
            <version>2.2.0.M4</version>
    </dependency>
    <repositories>
            <repository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>https://repo.spring.io/snapshot</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>https://repo.spring.io/milestone</url>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>https://repo.spring.io/snapshot</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
            <pluginRepository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>https://repo.spring.io/milestone</url>
            </pluginRepository>
        </pluginRepositories>

这是堆栈跟踪:

代码语言:javascript
复制
Caused by: java.lang.ClassNotFoundException: org.springframework.hateoas.server.LinkRelationProvider
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_60]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_60]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_60]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_60]
    ... 37 common frames omitted  

根据the API docs的说法,它正在寻找0.25.1.RELEASE中不存在的org.springframework.hateoas.server

EN

回答 1

Stack Overflow用户

发布于 2019-07-23 21:09:58

我不确定我做对了什么,但这就是最终可以工作的pom (我组合了mvn treepurge-local-repositoriesclean installrun)

代码语言:javascript
复制
 <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.6.RELEASE</version> <!-- changed this to 2.1.6 version -->
            <relativePath /> 
        </parent>   
    <build>
            <plugins>
    <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <version>2.2.0.M4</version> <!-- upgraded this -->
                </plugin>
        </plugins>
        </build>
    <dependencies>

            <dependency>
                <groupId>org.junit.jupiter</groupId> <!-- added this dependency-->
                <artifactId>junit-jupiter-api</artifactId>
                <version>5.5.1</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId> <!-- added this dependency-->
                <artifactId>spring-boot-starter-hateoas</artifactId>
                <version>2.2.0.M4</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.hateoas</groupId> 
                <artifactId>spring-hateoas</artifactId>
                <version>0.25.1.RELEASE</version>
            </dependency>
    </dependencies>
        <repositories>
            <repository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>https://repo.spring.io/snapshot</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>https://repo.spring.io/milestone</url>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>https://repo.spring.io/snapshot</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
            <pluginRepository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>https://repo.spring.io/milestone</url>
            </pluginRepository>
        </pluginRepositories>

再一次,我排除了一些依赖项,只是为了让它更简洁,但如果您有问题,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57138151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档