我正在学习Maven,我需要一些帮助才能开始。我使用m2eclipse插件(Maven),我想生成一个像Struts 2,Hibernate 3,MySQL这样的项目。现在我只使用原型创建一个简单的项目: maven-archetype-webapp
我需要添加哪些依赖项?
答案 0 :(得分:3)
现在我只使用原型创建一个简单的项目:maven-archetype-webapp
我的建议是使用struts2-archetype-blank
原型代替引导你的Struts 2应用程序。您可以从m2eclipse(通过向导)或从命令行调用它。例如,从命令行:
mvn archetype:generate -B \
-DgroupId=tutorial \
-DartifactId=tutorial \
-DarchetypeGroupId=org.apache.struts \
-DarchetypeArtifactId=struts2-archetype-blank \
-DarchetypeVersion=2.2.1
,为Hibernate 3和MySQL JDBC驱动程序添加所需的依赖项。通常,有几种方法可以做到这一点:
<dependency>
中添加pom.xml
个元素)Adding Dependencies Using m2eclipse博客帖子有一个屏幕演示,演示了其中一些。
无论您选择哪种解决方案,最后,您的pom.xml
至少应声明以下代码:
<project>
<dependencies>
...
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.2.1</version>
</dependency>
...
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.3.2.GA</version>
</dependency>
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.9.0.GA</version>
</dependency>
...
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.13</version>
</dependency>
</dependencies>
</project>
如果你想使用最新版本的Hibernate工件,你必须在repositories
元素下添加JBoss存储库,因为它们在maven中央存储库中不可用(抱歉让事情变得更复杂)但是,嗯,事情就是这样):
<project>
<dependencies>
...
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>3.5.5-Final</version>
</dependency>
...
<dependencies>
...
<repositories>
<repository>
<id>repository.jboss.org-public</id>
<name>JBoss repository</name>
<url>https://repository.jboss.org/nexus/content/groups/public</url>
</repository>
</repositories>
...
</project>
答案 1 :(得分:0)
你只需要找到struts或任何依赖项并将它们放在你的pom中。这里有一些关于依赖关系:
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
答案 2 :(得分:0)
Maven中的原型用于为特定类型的项目创建简单结构。基本上,它将创建pom.xml
文件,使用Maven约定的目录结构和一些简单文件。一些原型将创建更复杂的结构,具体取决于它们相关的项目类型。
在您的情况下,MySQL和Hibernate在Maven中没有特定信息,除了依赖项。因此,最好的办法是生成一个Web结构,最终使用Struts Maven archetype(我从未使用它,所以我无法判断这个原型的质量是否良好),然后添加足够的Hibernate / MySQL驱动程序依赖。
您可以使用MvnRepository网站查找特定依赖关系的groupId
,artifactId
或version
。
为了您的顾虑,我建议org.hibernate:hibernate:3.xx
和mysql:mysql-connector-java
库(使用范围runtime
作为JDBC驱动程序):
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.13</version>
<scope>runtime</scope>
</dependency>