Maven:缺少依赖项不会被拉

时间:2020-01-30 19:52:23

标签: java maven intellij-idea

所以我努力将所有依赖项放入pom.xml文件中,但仍然无法抓住它们。

这是我的原始pom.xml

<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">

    <!--
        Make runnable JAR: mvn package
     -->

    <parent>
        <groupId>cz.vutbr.fit.layout</groupId>
        <artifactId>parent</artifactId>
        <version>0.0.5-SNAPSHOT</version>
        <relativePath>../parent/pom.xml</relativePath>
    </parent>

    <modelVersion>4.0.0</modelVersion>

    <artifactId>layout-tools</artifactId>

    <name>LayoutTools</name>
    <description>
        An extensible web page segmentation and analysis framework - Runnable tools
    </description>
    <url>http://www.fit.vutbr.cz/~burgetr/FITLayout/</url>

    <licenses>
        <license>
            <name>GNU Lesser General Public License 3.0</name>
            <url>http://www.gnu.org/licenses/lgpl-3.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <developers>
        <developer>
            <name>Radek Burget</name>
            <roles>
                <role>Main developer &amp; project leader</role>
            </roles>
        </developer>
    </developers>

    <scm>
        <url>https://github.com/FitLayout/tools</url>
        <connection>scm:git:git@github.com:FitLayout/tools.git</connection>
        <developerConnection>scm:git:git@github.com:FitLayout/tools.git</developerConnection>
        <tag>HEAD</tag>
    </scm>

    <build>
        <sourceDirectory>src/main/java</sourceDirectory>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>**/*.java</exclude>
                </excludes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <!-- merges the service descriptions in META-INF/services -->
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>org.fit.layout.tools.BlockBrowser</mainClass>
                                </transformer>
                            </transformers>
                            <finalName>LayoutTools</finalName>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>

    </build>

    <dependencies>
        <dependency>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
            <version>2.11.0</version>
        </dependency>
        <dependency>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
            <version>1.4.01</version>
        </dependency>
        <dependency>
            <groupId>cz.vutbr.fit.layout</groupId>
            <artifactId>layout-cssbox</artifactId>
        </dependency>
        <dependency>
            <groupId>cz.vutbr.fit.layout</groupId>
            <artifactId>layout-segmentation</artifactId>
        </dependency>
        <dependency> <groupId>cz.vutbr.fit.layout</groupId> <artifactId>layout-api</artifactId> </dependency>
        <!-- <dependency>
            <groupId>cz.vutbr.fit.layout</groupId>
            <artifactId>layout-logical</artifactId>
        </dependency>
        <dependency>
            <groupId>cz.vutbr.fit.layout</groupId>
            <artifactId>layout-classify</artifactId>
        </dependency>
        <dependency>
            <groupId>cz.vutbr.fit.layout</groupId>
            <artifactId>layout-storage-rdf</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-log4j12</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
            </exclusions>
        </dependency> -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </dependency>
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jline</groupId>
            <artifactId>jline</artifactId>
            <version>3.9.0</version>
        </dependency>       
    </dependencies>

</project>

当我尝试构建项目时,它会抛出:

Error:(10, 26) java: package org.fit.layout.api does not exist

Error:(15, 28) java: package org.fit.layout.model does not exist

Error:(18, 17) java: package org.slf4j does not exist

我尝试通过以下方式添加layout-api`:

    <dependency> <groupId>cz.vutbr.fit.layout</groupId> 
<artifactId>layout-api</artifactId><version>0.0.4</version> </dependency>

但是,这仍然未被认可。

我检查了Maven仓库,但它也缺少org.fit.layout.model

https://repo.maven.apache.org/maven2/cz/vutbr/fit/layout/

我要编译和运行的项目是

https://github.com/FitLayout/tools

更新:在编译父项目时,出现以下Maven插件错误:

我添加了以下内容,但仍然无法摆脱maven插件错误:

Cannot resolve plugin org.apache.maven.plugins:maven-clean-plugin:2.5
Cannot resolve plugin org.apache.maven.plugins:maven-install-plugin:2.4
Cannot resolve plugin org.apache.maven.plugins:maven-deploy-plugin:2.7
Cannot resolve plugin org.apache.maven.plugins:maven-site-plugin:3.3

我添加了

<dependency>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <type>maven-plugin</type>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>2.5</version>
                <type>maven-plugin</type>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
                <version>2.4</version>
                <type>maven-plugin</type>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.7</version>
                <type>maven-plugin</type>
            </dependency>
            <dependency>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.3</version>
                <type>maven-plugin</type>
            </dependency>

2 个答案:

答案 0 :(得分:0)

您从其Github帐户中丢失了父pom。我为您找到了链接。是here。您要将其克隆到与另一个仓库相同的目录中。然后,您可以打包正在处理的项目。

编辑:从您的评论中我看到您也没有编译器插件。将其放在您的pom.xml中:

    <dependency>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.8.1</version>
      <type>maven-plugin</type>
    </dependency>

答案 1 :(得分:0)

我通过执行CTRL + SHIFT + A并键入reimport maven来解决了这个问题