<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.wangqiao.maven</groupId>
<artifactId>persistence-deps</artifactId>
<version>1.0</version>
<packaging>pom</packaging>
<properties>
<mysqlVersion>(5.1,)</mysqlVersion>
<hibernateAnnotationsVersion>3.3.0.ga</hibernateAnnotationsVersion>
<hibernateVersion>3.2.5.ga</hibernateVersion>
</properties>
<dependencies>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>${hibernateVersion}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>${hibernateAnnotationsVersion}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysqlVersion}</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>java</id>
<name>java official repository</name>
<url>http://download.java.net/maven/2/</url>
</repository>
</repositories>
</project>
很多需要持久化的项目需要依赖Hibernate,String,Mysql,我们建一个项目叫做persistence-deps,然后让每个需要持久化的项目依赖于这个提供便利的项目。上面的代码就是这个项目唯一的代码,pom.xml。注意 1)打包类型为pom 2) <reositories>标签里的内容不可少,是因为maven构建hibernate项目时,会提示:Missing artifact javax.transaction:jta:jar:1.0.1B:compile,这是因为由于sun的许可协议,Maven repository中没有包含这个文件,加上这个文件之后maven 就会从我们增加的这个库里去下载 javax.transaction:jta:jar , 使代码成功运行。还有方法是手动下载jta-1_0_1B-classes.zip,然后运行 mvn install:install-file -Dfile=./jta-1_0_1B-classes.zip -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar ,也可以解决问题,但是这个方法需要手工操作,不推荐使用。
我们把这个persistence-deps工程安装到本地仓库: mvn install 。之后每当我们再次需要构建持久化项目时,只需要添加我们自己的这个工程的信赖就可以了。
另一个工程:
<dependency>
<groupId>com.wangqiao.maven</groupId>
<artifactId>persistence-deps</artifactId>
<version>1.0</version>
<type>pom</type>
</dependency>