簡體   English   中英

如何創建一個可以在Eclipse和命令行中運行的Maven項目

[英]How to create a maven project which will work in eclipse and from command line

我有任何問題:

  1. 如何創建將在Eclipse中和從命令行運行的Maven項目。
  2. 如何使用Maven優秀的開發人員?

哇,一次有很多問題。 我承認,使用Maven和Eclipse設置Webapp項目可能很棘手,因此我將盡力回答所有這些問題。

使用Maven創建Web應用程序項目

如何使用servlets jsp和maven創建其他類的Java Web項目? 它創建一個簡單的目錄結構,src-> main-> java。

當您創建Java Web項目時,最終產品應該是WAR或EAR文件。 WAR和EAR文件是具有特定結構的JAR文件,可以將其部署在應用程序服務器或servlet容器中。

如前所述,為Web應用程序設置Maven項目的最簡單方法是使用原型:

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp

如果我們使用此原型創建項目,則將生成一個簡單的目錄結構和pom.xml。 該項目遵循您提到的標准Maven目錄布局,帶有/src/main/java//src/test/java等。Maven使用war:war目標從此結構生成WAR文件。

請注意,此原型適用於非常簡單(過時)的Web應用程序,但這是最佳的起點。 您可能想要丟棄web.xml文件,並創建一個支持Servlet 3.0的新文件。

WEB-INF位置

我在哪里以及如何放置web-inf文件夾?

默認情況下,Maven期望應放在WAR文件根目錄中的資源(例如圖像,html頁面和WEB-INF目錄)駐留在/src/main/webapp/ 因此,WEB-INF文件夾應該位於/src/main/webapp/WEB-INF/ 如果您使用maven-archetype-webapp,則會自動創建此目錄以及一個示例web.xml文件。

Eclipse整合

您在問題標題中提到了Eclipse,確實可以使用m2eclipse插件在Eclipse中開發Mavenized Web應用程序。 Eclipse通過WTP(Web工具平台)對Web應用程序提供了良好的支持。

盡管Internet上有許多指南(錯誤地)都推薦這樣做,但是您不應使用mvn eclipse:eclipse命令來創建Eclipse項目 該插件只能為非常老的Eclipse版本生成WTP項目(最大為WTP 2.0)。 相反,請按此處所述使用m2eclipse插件。

依存關系

我是否需要將jdbc-drivers手動添加到web-inf / lib內的文件夾中,還是可以指出依賴項?

無需手動執行此操作,因為Maven的關鍵優勢之一是依賴管理。 如果在pom.xml中添加具有編譯運行時范圍的依賴項,則JAR文件將自動包含在WAR文件的WEB-INF/lib/目錄中。 例如,要添加Postgresql JDBC驅動程序依賴項,請將其添加到pom.xml中:

<dependency>
    <groupId>postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>9.1-901.jdbc4</version>
</dependency>

由於范圍是未指定的,因此Maven將假定它在默認范圍compile中 結果是Maven將在WAR文件中包含WEB-INF/lib/postgresql-9.1-901.jdbc4.jar

測試中

有沒有辦法用junit測試servlet?

在Stackoverflow上已問(並回答)了這個問題:

參考文獻

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM