Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 3 如何在Maven多模块项目中使用BOM文件?_Maven 3_Maven Bom - Fatal编程技术网

Maven 3 如何在Maven多模块项目中使用BOM文件?

Maven 3 如何在Maven多模块项目中使用BOM文件?,maven-3,maven-bom,Maven 3,Maven Bom,Java11,Maven 3.8.3 我在pom文件中创建了我的Java Maven项目: org.springframework spring框架bom表 4.3.8.1发布 聚甲醛 进口 org.apache.commons commons-lang3 朱尼特 朱尼特 ${junit.version} 测试 这是我的班级: import org.apache.commons.lang3.StringUtils; 导入org.slf4j.Logger; 导入org.slf4j.Logger

Java11,Maven 3.8.3

我在pom文件中创建了我的Java Maven项目:


org.springframework
spring框架bom表
4.3.8.1发布
聚甲醛
进口
org.apache.commons
commons-lang3
朱尼特
朱尼特
${junit.version}
测试
这是我的班级:

import org.apache.commons.lang3.StringUtils;
导入org.slf4j.Logger;
导入org.slf4j.LoggerFactory;
/**
*模块1
*/
公共类应用程序{
私有静态记录器Logger=LoggerFactory.getLogger(App.class);
公共静态void main(字符串[]args){
debug(“Module1,JDK:+System.getProperty(“java.version”);
//使用libcommons-lang3
logger.debug(“lib:commons-lang3:isEmptyString=“+StringUtils.isEmpty”(”);
}
}
但是在
mvn安装之后
我得到错误:

[信息]项目扫描…
[错误][错误]处理POM时遇到一些问题:
[错误]“org.apache.commons:commons-lang3:jar的dependencies.dependency.version”丢失。@第15行第17栏

如果我打开BOM表文件,它将存在:

2.7.0
3.9
1.6
为什么Maven在BOM文件中找不到正确的
commons-lang3.version版本号?

我解决了这个问题。 在家长的POM使用中:

 <dependencyManagement>
      <dependencies>
        <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-dependencies</artifactId>
          <version>2.4.4</version>
          <type>pom</type>
          <scope>import</scope>
        </dependency>
      </dependencies>
    </dependencyManagement>

org.springframework.boot
spring启动依赖项
2.4.4
聚甲醛
进口
在模块的POM使用中(示例):


com.google.code.gson
格森
朱尼特
朱尼特
测试
正如您所看到的,没有明确设置库的版本号。版本号从BOM表文件中隐式获得


很好

嗯。。?在该bom表中,仅存在与spring相关的依赖项版本。该文件中没有commons-lang3.version条目,请参阅:@eis I修复该问题。看看我的答案。你真的应该先解决这个问题。就目前而言,它不会帮助别人。
  <dependencies>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>