【问题标题】:Spring boot won't recognize an added dependencySpring Boot 无法识别添加的依赖项
【发布时间】:2022-01-01 20:11:24
【问题描述】:

我正在尝试通过pom.xml 添加ModelMapper 依赖项,但是,当我尝试创建modelMapper 的新实例时,它无法识别依赖项,而是尝试从Swagger 导入modelMapper。我已经尝试手动添加它,但仍然遇到同样的问题。

XML

<?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                -->

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.12</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com</groupId>
    <artifactId>golden.scent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>something</name>
    <description>Demo project for Spring Boot</description>

    <!--                 PROPERTIES                -->

    <properties>
        <java.version>11</java.version>
    </properties>

    <!--                 DEPENDENCIES                 -->

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.modelmapper/modelmapper -->
        <dependency>
            <groupId>org.modelmapper</groupId>
            <artifactId>modelmapper</artifactId>
            <version>2.3.8</version>
        </dependency>


    </dependencies>

    <!--                 BUILD                 -->

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

配置

import springfox.documentation.swagger2.mappers.ModelMapper;


@Configuration
public class Config {

    @Bean
    public ModelMapper modelMapper(){
        return new ModelMapper()


    }
}

尝试使用通常可以解决问题的invalidate cache/restart。这次不行。

我正在尝试使用 DTO bean,但不想手动编写映射器。

我已经尝试寻找解决方案,但还没有找到。

谢谢

【问题讨论】:

    标签: java spring maven dependencies


    【解决方案1】:

    将您的班级更改为以下内容:

    import org.modelmapper.ModelMapper;
    
    @Configuration
    public class Config {
        @Bean
        public ModelMapper modelMapper(){
            return new ModelMapper();
        }
    }
    

    如果这样你不能编译你的代码,你可能需要删除你机器中.m2文件夹中的org/modelmapper文件夹,然后重新加载你的maven依赖。

    【讨论】:

      【解决方案2】:

      尝试核对您的 .m2 文件夹,然后再次拉取依赖项。我通常这样做:从 .m/repo 中删除所有内容,然后转到 intellij 并在 pom.xml 中添加空间并将其删除,这样我就可以提取在 pom.xml 中所做的更改

      如果没有帮助,您可以随时从终端运行

      mvn clean - 清除依赖关系,这样你就可以得到一个干净的东西

      mvn install - 再次启动依赖拉取

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-12
        • 1970-01-01
        • 2021-08-16
        • 2023-01-18
        • 2018-05-13
        • 2021-12-26
        • 2021-04-16
        相关资源
        最近更新 更多