POM依赖项不起作用(Eclipse,Maven,POM)

时间:2011-05-22 13:33:57

标签: eclipse hibernate maven-2 pom.xml

我在Eclipse(Helios)中有一个项目,使用Maven pom.xml。 我的项目是一个使用Hibernate,MySQL的Web应用程序。

但是我在让pom.xml正确方面遇到了无穷无尽的困难。我是maven的新手,不敢相信设置依赖是如此艰难(其他人有类似的expierience /或者我是愚蠢的)。

我的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>
  <groupId>MyProj1</groupId>
  <artifactId>MyProj1</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <repositories>
    <repository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>http://repository.jboss.org/nexus/content/groups/public/</url>
      <layout>default</layout> 
      <releases> 
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </snapshots> 
    </repository>

    <repository>
      <id>Scala Tools</id>
      <name>Scala Tools</name>
      <url>http://scala-tools.org/repo-releases/</url>
      <layout>default</layout> 
      <releases> 
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </snapshots> 
    </repository>

  </repositories> 

  <dependencies> 

    <dependency> 
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
    </dependency>
     <dependency> 
            <groupId>org.hibernate</groupId> 
            <artifactId>hibernate-entitymanager</artifactId> 
            <version>3.6.4.Final</version> 
        </dependency>       
          <dependency> 
            <groupId>org.hibernate</groupId> 
            <artifactId>hibernate-core</artifactId> 
            <version>3.6.4.Final</version> 
        </dependency>
        <!-- 
        <dependency>         
            <groupId>org.hibernate</groupId>         
            <artifactId>hibernate-annotations</artifactId>         
            <version>3.6.4.Final</version>     
        </dependency> 
         -->
        <dependency>  
            <groupId>antlr</groupId> 
            <artifactId>antlr</artifactId> 
            <version>2.7.6-brew</version> 
        </dependency>            
        <dependency>  
            <groupId>dom4j</groupId> 
            <artifactId>dom4j</artifactId> 
            <version>1.6.1-jboss</version> 
        </dependency>                    
        <dependency>  
            <groupId>asm</groupId>  
            <artifactId>asm</artifactId>  
            <version>1.4.3</version> 
        </dependency>   
        <dependency>  
            <groupId>cglib</groupId>  
            <artifactId>cglib</artifactId>  
            <version>2.1.1</version>  
        </dependency>     

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.16</version>
        </dependency>
  </dependencies>
</project>

我得到的错误是:

Missing artifact commons-logging:commons-logging:jar:1.1.1:compile

Missing artifact org.hibernate:hibernate-entitymanager:jar:3.6.4.Final:compile

Missing artifact javassist:javassist:jar:3.12.0.GA:compile

Missing artifact org.hibernate.javax.persistence:hibernate-jpa-2.0-api:jar:1.0.0.Final:compile

Missing artifact org.slf4j:slf4j-api:jar:1.6.1:compile

Missing artifact org.hibernate:hibernate-core:jar:3.6.4.Final:compile

Missing artifact commons-collections:commons-collections:jar:3.1:compile

Missing artifact org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final:compile

Missing artifact javax.transaction:jta:jar:1.1:compile

Missing artifact antlr:antlr:jar:2.7.6-brew:compile

Missing artifact dom4j:dom4j:jar:1.6.1-jboss:compile

Missing artifact xml-apis:xml-apis:jar:1.0.b2:compile

Missing artifact asm:asm:jar:1.4.3:compile

Missing artifact cglib:cglib:jar:2.1.1:compile

---

如果我从pom.xml文件中删除了mysql依赖项,那么上述所有错误都会消失。 我完全混淆为什么mysql应该依赖于这些。

Maven不应该自动解决这些依赖关系吗?毕竟不是使用Maven的全部想法。

专家请指导我正确的方向。

1 个答案:

答案 0 :(得分:3)

您可以在此处搜索依赖项:

http://mvnrepository.com

对于Maven2,它是:

http://repo1.maven.org/maven2/

特别是Hibernate在设置正确的依赖项方面非常困难。

请参阅:How can I use Maven to get the latest Hibernate release?