一片月 2024-06-13 21:37 采纳率: 0%
浏览 45
已结题

sqpingboot在父模块已经引入了mybatisplus 在子组件不写版本号还是报错

sqpingboot在父模块已经引入了mybatisplus 在子组件不写版本号还是报错
报错提示

"D:\Program Files\Java\jdk-1.8\bin\java.exe" -Dmaven.multiModuleProjectDirectory=D:\react\programming-guide-server -Dmaven.home=D:\apache-maven-3.6.3 -Dclassworlds.conf=D:\apache-maven-3.6.3\bin\m2.conf "-Dmaven.ext.class.path=D:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\plugins\maven\lib\maven-event-listener.jar" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\lib\idea_rt.jar=53775:D:\Program Files\JetBrains\IntelliJ IDEA 2022.1.4\bin" -Dfile.encoding=UTF-8 -classpath D:\apache-maven-3.6.3\boot\plexus-classworlds-2.6.0.jar;D:\apache-maven-3.6.3\boot\plexus-classworlds.license org.codehaus.classworlds.Launcher -Didea.version=2022.1.4 -s D:\apache-maven-3.6.3\conf\settings.xml org.apache.maven.plugins:maven-clean-plugin:3.2.0:clean
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'dependencies.dependency.version' for com.baomidou:mybatis-plus-annotation:jar is missing. @ line 27, column 21
[WARNING] 'dependencies.dependency.scope' for com.alibaba.cloud:spring-cloud-alibaba-dependencies:pom must be one of [provided, compile, runtime, test, system] but is 'import'. @ line 19, column 20
 @ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project com.example:code-pojo:1.0-SNAPSHOT (D:\react\programming-guide-server\code-pojo\pom.xml) has 1 error
[ERROR]     'dependencies.dependency.version' for com.baomidou:mybatis-plus-annotation:jar is missing. @ line 27, column 21
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException

Process finished with exit code 1


父模块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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <artifactId>spring-boot-starter-parent</artifactId>
        <groupId>org.springframework.boot</groupId>
        <version>2.7.3</version>
    </parent>
    <groupId>com.example</groupId>
    <artifactId>code-guide</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>code-common</module>
        <module>code-pojo</module>
        <module>code-service</module>
    </modules>
    <properties>
        <mybatis-plus.version>3.4.3</mybatis-plus.version>
        <lombok>1.18.20</lombok>
        <fastjson>1.2.76</fastjson>
        <commons.lang>2.6</commons.lang>
        <druid>1.2.1</druid>
        <pagehelper>1.3.0</pagehelper>
        <aliyun.sdk.oss>3.10.2</aliyun.sdk.oss>
        <knife4j>3.0.2</knife4j>
        <aspectj>1.9.4</aspectj>
        <jjwt>0.9.1</jjwt>
        <jaxb-api>2.3.1</jaxb-api>
        <poi>3.16</poi>
        <hutool.version>5.8.0</hutool.version>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>cn.hutool</groupId>
                <artifactId>hutool-bom</artifactId>
                <version>${hutool.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok}</version>
            </dependency>

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson}</version>
            </dependency>

            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>${commons.lang}</version>
            </dependency>

            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid}</version>
            </dependency>

            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper-spring-boot-starter</artifactId>
                <version>${pagehelper}</version>
            </dependency>

            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>knife4j-spring-boot-starter</artifactId>
                <version>${knife4j}</version>
            </dependency>

            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjrt</artifactId>
                <version>${aspectj}</version>
            </dependency>

            <dependency>
                <groupId>org.aspectj</groupId>
                <artifactId>aspectjweaver</artifactId>
                <version>${aspectj}</version>
            </dependency>

            <dependency>
                <groupId>io.jsonwebtoken</groupId>
                <artifactId>jjwt</artifactId>
                <version>${jjwt}</version>
            </dependency>

            <dependency>
                <groupId>com.aliyun.oss</groupId>
                <artifactId>aliyun-sdk-oss</artifactId>
                <version>${aliyun.sdk.oss}</version>
            </dependency>

            <dependency>
                <groupId>javax.xml.bind</groupId>
                <artifactId>jaxb-api</artifactId>
                <version>${jaxb-api}</version>
            </dependency>

            <!-- poi -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${poi}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>${poi}</version>
            </dependency>
            <!--微信支付-->
            <dependency>
                <groupId>com.github.wechatpay-apiv3</groupId>
                <artifactId>wechatpay-apache-httpclient</artifactId>
                <version>0.4.8</version>
            </dependency>

            <!-- springboot 邮件mail -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-mail</artifactId>
                <version>2.4.5</version>
            </dependency>
        </dependencies>
    </dependencyManagement>
</project>


子模块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>
        <artifactId>code-guide</artifactId>
        <groupId>com.example</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <groupId>com.example</groupId>
    <artifactId>code-service</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2022.0.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>code-common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>code-pojo</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <scope>compile</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>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
            <version>8.0.33</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
    </dependencies>
    <build>
        <finalName>app</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>


  • 写回答

9条回答 默认 最新

  • 阿齐Archie 优质创作者: 嵌入式与硬件开发技术领域 2024-06-13 21:38
    关注

    以下参考免费微信小程序:皆我百晓生 作答,并由阿齐Archie整理回复,若还有疑问可评论或留言。

    从你提供的报错信息来看,主要问题是 Maven 无法找到 mybatis-plus-annotation 依赖的版本号。这个问题通常是因为 Maven 在解析子模块的 POM 文件时,没有正确继承父模块中定义的依赖版本。

    要解决这个问题,你可以按照以下步骤进行:

    1. 确保子模块正确继承父模块的 dependencyManagement: 在子模块的 POM 文件中,确保 <dependencyManagement> 部分已经被正确引入。如果父模块中定义了依赖管理,子模块应该包含一个 <dependencyManagement> 部分,其中使用 <dependencies> 标签继承父模块的依赖版本。

      在子模块的 POM 中添加以下内容:

      <dependencyManagement>
          <dependencies>
              <!-- 继承父模块的依赖管理 -->
              <dependency>
                  <groupId>com.example</groupId>
                  <artifactId>code-guide</artifactId>
                  <version>1.0-SNAPSHOT</version>
                  <type>pom</type>
                  <scope>import</scope>
              </dependency>
          </dependencies>
      </dependencyManagement>
      
    2. 在子模块中显式添加 mybatis-plus-annotation 依赖: 即使在父模块中已经定义了 mybatis-plus-boot-starter 的版本,有时候 Maven 仍然需要在子模块中显式声明 mybatis-plus-annotation 的依赖。你可以在子模块的 <dependencies> 中添加如下依赖:

      <dependency>
          <groupId>com.baomidou</groupId>
          <artifactId>mybatis-plus-annotation</artifactId>
          <version>${mybatis-plus.version}</version>
      </dependency>
      
    3. 检查 Maven 项目设置: 确保你的 Maven 项目设置正确,IDEA 中的 Maven 项目应该正确加载父 POM。

    4. 清理和更新项目: 在 IDEA 中,你可以尝试使用 Maven Projects 视图进行 "Reimport" 操作,或者在终端中运行以下命令来清理和更新 Maven 项目:

      mvn clean install
      
    5. 检查父模块和子模块的版本号: 确保父模块和子模块的版本号是一致的,如果不一致,可能会导致依赖解析错误。

    6. 检查是否有多个版本的依赖: 如果你的项目中有多个地方定义了相同 groupId 和 artifactId 的依赖,但是版本号不同,这可能会导致依赖冲突。检查整个项目的依赖树,确保没有冲突。

    按照上述步骤操作后,应该可以解决你遇到的问题。如果问题仍然存在,可能需要更详细地检查 POM 文件和 Maven 配置。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月14日
  • 创建了问题 6月13日