我正在學習Maven,我需要一點幫助才能開始。我使用m2eclipse插件(Maven),我想生成一個像Struts 2,Hibernate 3,MySQL這樣的項目。現在我只是創建一個簡單的項目與原型:maven-archetype-webapp幫助使用maven artifacts
什麼是我需要添加的依賴項?
我正在學習Maven,我需要一點幫助才能開始。我使用m2eclipse插件(Maven),我想生成一個像Struts 2,Hibernate 3,MySQL這樣的項目。現在我只是創建一個簡單的項目與原型:maven-archetype-webapp幫助使用maven artifacts
什麼是我需要添加的依賴項?
現在我剛剛創建的原型一個簡單的項目:Maven的原型-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驅動程序所需的依賴關係。由於經常,有幾種方法可以做到這一點:
pom.xml
添加<dependency>
元素)使用m2eclipse的嚮導
的Adding Dependencies Using m2eclipse博客帖子有一個屏幕鑄展示其中的一些。
什麼解決方案,你會選擇,到了最後,你pom.xml
至少應申報以下DEPS:
<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>
thx爲您提供幫助,但是當我想在wizzard中選擇struts2-archetype-blank時,它不存在 – Scandolous 2010-09-13 14:25:52
@Scandolous然後,工件索引可能已過時。如果我沒有錯,可以強制從存儲庫視圖重建索引。或者在命令行上運行該命令。 – 2010-09-13 15:17:12
爲什麼我在編譯我的項目時出現這個錯誤:Missing artifact javassist:javassist:jar:3.9.0.GA:compile – Scandolous 2010-09-14 08:23:50
你只需要找到struts或任何依賴關係,並把它們放在你的pom中。下面是一些關於依存關係:
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html
只是我把依賴.. ..?例如,當我把Hibernate的依賴關係,爲什麼它不像我的項目中生成文件,如hibernateconfig.xml ..? – Scandolous 2010-09-13 13:38:17
在Maven的原型是用來爲特定類型的項目,創建一個簡單的結構。基本上,它將創建pom.xml
文件,使用Maven約定的目錄結構以及一些簡單文件。一些原型會創建更復雜的結構,具體取決於它們相關的項目類型。
就你而言,MySQL和Hibernate在Maven中沒有特定的信息,除了依賴。所以最好的辦法是生成一個網絡結構,最終使用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>
好的,我把這個依賴放在我的pom.xml中,我不明白JDBC驅動,我必須添加一個JDBC驅動依賴。 – Scandolous 2010-09-13 13:51:33
您可以將它添加到依賴項列表中,但使用'runtime'作用域。這樣,這個依賴不會在編譯或單元測試期間被使用,而是會被捆綁到最終的包中(WAR文件)。 – romaintaz 2010-09-13 14:28:48
MAIS廣利EST LA問題ICI? |那麼這裏有什麼問題? – romaintaz 2010-09-13 13:37:36
我需要添加哪些依賴項? – Scandolous 2010-09-13 13:41:23