Maven没有安装pom文件中的所有内容,导致“Missing Required Library”x 124

时间:2014-05-09 12:42:16

标签: java eclipse maven 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">
<modelVersion>4.0.0</modelVersion>
<parent>
    <groupId>be.ugent.sop.p404</groupId>
    <artifactId>P404</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>P404EJB</artifactId>
<name>P404EJB</name>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ejb-plugin</artifactId>
            <configuration>
            <ejbVersion>3.1</ejbVersion>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>2.40.0</version>
    </dependency>

    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.29</version>
    </dependency>
    <dependency>
        <groupId>org.eclipse.persistence</groupId>
        <artifactId>org.eclipse.persistence.jpa</artifactId>
        <version>2.5.2-M1</version>
    </dependency>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>


    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>
    <dependency>
        <groupId>org.databene</groupId>
        <artifactId>contiperf</artifactId>
        <version>2.2.0</version>
    </dependency>

    <dependency>

        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.6</version>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.6</version>
    </dependency>



    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
    </dependency>

    <dependency>
        <groupId>org.databene</groupId>
        <artifactId>contiperf</artifactId>
        <version>2.2.0</version>
    </dependency>

    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-j2ee-deployment_1.1_spec</artifactId>
        <version>1.1</version>
    </dependency>

    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
    </dependency>

    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.4</version>
    </dependency>

</dependencies>

<packaging>ejb</packaging>

作为我收到的问题的一个例子:

Description Resource    Path    Location    Type
Project 'P404EJB' is missing required library: '/home/zeesteen/.m2/repository/com/googlecode/json-simple/json-simple/1.1.1/json-simple-1.1.1.jar'   P404EJB     Build path  Build Path Problem

我假设在使用以下命令之后:

mvn clean install eclipse:eclipse

Maven应该获取pom中的库而不是我的机器上的库? (文件夹,例如&#34; com&#34;不存在于.m2 / repository文件夹中)

我自己尝试了多种解决方案,例如 - 删除Maven性质,再次清理安装,转换为maven项目 - 对clean命令进行修改 - 右键单击​​项目并执行Maven&gt;更新项目 - 通过eclipse清理项目

我得到了124个Java Build Path Problems,如上所述。

2 个答案:

答案 0 :(得分:1)

我发现了错误..

Maven并没有给出错误,因为我的maven repo显然没有任何问题。 Eclipse已将settings.xml maven文件的位置更改为&#34;不存在&#34;位置..导致所有问题。我手动改回来,所有问题都解决了。

在Eclipse中我做了: 窗口&gt;偏好&gt; Maven&gt;用户设置:字段用户设置错误 (eclipse改变它..)把它放回到我第一次进行设置,应用,清理项目的地方,一切都已修复!

答案 1 :(得分:0)

请确保您在Java Build Path中的Maven Dependencies下添加了Libraries

注意:您可以通过右键单击项目来检查属性,然后单击“属性”。如果未添加,则可以点击Add Library并选择Maven Managed dependencies并完成