【问题标题】:dependencies from pom.xml not being resolvedpom.xml 的依赖项未解决
【发布时间】:2020-07-17 05:58:21
【问题描述】:

我正在尝试在 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,尽管我添加了&lt;groupId&gt;org.apache.commons&lt;/groupId&gt; 依赖项。

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

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

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

【问题讨论】:

    标签: java maven pom.xml


    【解决方案1】:

    我的 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.
    

    所有依赖项都不起作用,因为它不知道您想要哪个版本。

    当你有一个 parent pom 时,你可以在没有版本的情况下指定依赖项。你没有,所以版本是强制性的。

    【讨论】:

    • 我又试了&lt;version&gt;LATEST&lt;/version&gt;版,还是不行..
    • @MaifeeUlAsad 不要尝试像LATEST 或RELEASE 这样的通用版本,而是使用版本号。
    • 是的,一些随机版本甚至可以工作,多么有趣,最新的没有......非常感谢您的时间
    • @MaifeeUlAsad 为什么您认为LATEST 是受支持的值? POM Reference 文档中肯定没有提到它!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-20
      • 2023-03-18
      • 2017-01-12
      • 2022-12-18
      • 1970-01-01
      • 2018-12-05
      • 2017-06-25
      • 1970-01-01
      相关资源
      最近更新 更多