pom.xml 的依赖项未解决

dependencies from pom.xml not being resolved

我正在尝试在 intellij 中创建一个 maven 项目,以在 antlr 中创建一个解析器。这是我的 pom.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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mua</groupId>
    <artifactId>json-parser-java-antlr</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Json parser Java ANTLR</name>
    <packaging>jar</packaging>
    <description>Trying to create a parser using ANTLR in Java, as facing problems with LLVM</description>
    <properties>
        <java.version>11</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.antlr</groupId>
            <artifactId>antlr4-runtime</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-collections4</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.directory.studio</groupId>
            <artifactId>org.apache.commons.io</artifactId>
        </dependency>
    </dependencies>
</project>

当我点击导入更改时,加载仅需 1-2 秒即可完成。但是如果我尝试从 org.apache.commons.collections4.MapUtils 导入 MapUtils 它说它无法解析 common,尽管我添加了 <groupId>org.apache.commons</groupId> 依赖项。

我是 Maven 项目创建和管理方面的新手。

那么,这是什么问题,我该如何解决这个问题?

我研究了一些 pom.xml 并发现了一个 parent 属性。不知道如何配置。

我的 Eclipse 编辑器显示:

Project build error: 'dependencies.dependency.version' for org.antlr:antlr4-runtime:jar is missing.
Project build error: 'dependencies.dependency.version' for org.apache.commons:commons-collections4:jar is missing.
Project build error: 'dependencies.dependency.version' for org.apache.directory.studio:org.apache.commons.io:jar is missing.

None 的依赖项工作,因为它不知道你想要哪个版本。

在没有版本的情况下指定依赖项是您在拥有 parent pom 时所做的事情。你没有,所以版本是强制性的。

您可以尝试将特定版本的 antlr 添加到您的 pom.xml。如果您也使用antlr插件,请确保您使用的antlr 运行-time 版本与插件的内置版本相同。