Java 11、Maven 3.8.3
我在 pom 文件中的 Java Maven 项目:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>4.3.8.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
我的课在这里:
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Module1
*/
public class App {
private static Logger logger = LoggerFactory.getLogger(App.class);
public static void main(String[] args) {
logger.debug("Module1, JDK: " + System.getProperty("java.version"));
// Use lib commons-lang3
logger.debug("lib: commons-lang3: isEmptyString = " + StringUtils.isEmpty(""));
}
}
但是在mvn install
我得到错误之后:
[INFO] 正在扫描项目...
[ERROR] [ERROR] 处理 POM 时遇到一些问题:
[ERROR] org.apache.commons:commons-lang3:jar 的“dependencies.dependency.version”缺失。@ 第 15 行,第 17 列
如果我打开 BOM 文件,它存在:
<commons-dbcp2.version>2.7.0</commons-dbcp2.version>
<commons-lang3.version>3.9</commons-lang3.version>
<commons-pool.version>1.6</commons-pool.version>
commons-lang3.version
为什么 Maven在 BOM 文件中找不到正确的版本号?