![](/img/trans.png)
[英]Unable to add packaging as war in pom.xml to a maven project in eclipse
[英]Create WAR file from pom.xml for an existing Maven project
我正在創建一個Web項目,我被告知它必須駐留在現有maven項目的資源目錄中
這是項目的結構
MavenProject
|-- src
| |-- main
| `-- resources
| `-- My-Web-Project
| |-- META-INF
| | `-- MANIFEST.MF
| |-- src
| | |-- classes
| | | |-- com
| | | | `-- example
| | | | `-- projects
| | | | `-- SampleAction.class
| `-- web
| |-- css
| |-- css
| |-- img
| |-- js
| |-- WEB-INF
| | `-- web.xml
| |-- index.jsp
| `-- secondary.jsp
|-- test
`-- pom.xml
如您所見,MavenProject已有一個pom.xml文件。 我希望能夠使用當前的pom.xml部署我的Web項目WAR。
我想知道是否可以這樣做,我將如何繼續創建Maven插件。
我讀過這篇文章,但我不知道它是否適用於我的情況http://maven.apache.org/plugins/maven-war-plugin/usage.html
編輯:
我正在使用tomcat app server。
如前所述,我的項目“My-Web-Project”應該在“資源”之下
閱讀本文檔,不完整,但它是一個很好的入門者。
樣本配置( 不推薦 )
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webResources>
<resource>
<!-- this is relative to the pom.xml directory -->
<directory>src/main/resources/My-Web-Project/web</directory>
</resource>
</webResources>
</configuration>
</plugin>
這不完整, target
和類不應位於源目錄中。
我被告知它(web項目)必須駐留在現有maven項目的資源目錄中
這是錯誤的,不應該在資源內部創建Web項目!
閱讀Maven Convention over Configuration 。
約定優於配置是一個簡單的概念。 系統,庫和框架應該采用合理的默認值。 不需要不必要的配置,系統應該“正常工作”。
正確的目錄結構應如下所示:
MavenProject
|-- src
| |-- main
| | `-- java
| | `-- com
| | `-- example
| | `-- projects
| | `-- SampleAction.java
| `-- resources
| | `-- META-INF
| | `-- MANIFEST.MF
| `-- webapp
| |-- css
| |-- img
| |-- js
| |-- WEB-INF
| | `-- web.xml
| |-- index.jsp
| `-- secondary.jsp
|-- test
|-- target // this is generated by maven!
| |-- classes
| | `-- com
| | `-- example
| | `-- projects
| | `-- SampleAction.class
`-- pom.xml
來源: 標准目錄布局簡介
您使用的是哪個應用服務器? 大多數應用服務器已經擁有自己的maven插件,可以部署戰爭,所以你不必自己編寫: jboss-maven-plugin , tomcat-maven-plugin 。
您的文件夾結構也不符合maven標准 。 通常,如果您遵循標准並將存檔類型設置為war,則在包目標maven將自動在目標文件夾中為您生成戰爭。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.