我在Eclipse(Helios)中有一个使用Maven pom.xml的项目。
我的项目是一个将使用Hibernate和MySQL的Web应用程序。
但我在正确构建pom.xml方面遇到了无休止的困扰。我对Maven很陌生,难以置信设置依赖关系如此困难(其他人是否有类似的经验/或者是我太蠢了)。
这是我的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>
The error i get is:
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的整个想法吗?
专家请指导我正确的方向。