簡體   English   中英

從Eclipse WTP發布到服務器時,如何排除Maven資源?

[英]How do I exclude Maven resources when publishing from Eclipse WTP to a server?

當WTP部署或發布到服務器時,如何使WTP在src / main / resources文件夾中排除Maven資源? 例如,我創建了一些名為src / main / resources / qa和src / main / resources / prod的文件夾,並且在其中有屬性文件。 我想使用它們進行部署,但是我不想在WAR文件工件中使用它們。

通過將資源節添加到我的pom.xml中,我可以從Maven構建中排除這些文件夾(例如,當我運行mvn package ),並且它們不會出現在我的WAR文件工件中。

但是,當我使用WTP的“ Debug As ..”方法讓Eclipse管理並附加到本地Tomcat服務器時,我可以看到WTP正在發布所有資源,包括我在本地Tomcat服務器中排除的文件夾。 當我從Eclipse服務器定義中刪除WAR工件時,我已經看到了wtpwebapp文件夾(即WTP正在使用的部署目標)消失了。 然后,當我將項目重新添加到服務器時,被排除的資源就會找到它們的返回路徑。

我已經嘗試在適當的源庫中為我的項目的Java Build路徑中明確排除帶有“ ** / qa /”和“ ** / prod /”條目的文件夾,實際上,使用mvn eclipse:clean eclipse:eclipse -Dwtpversion=2.0重新創建了Eclipse項目mvn eclipse:clean eclipse:eclipse -Dwtpversion=2.0會自動為我添加構建路徑排除項。 當WTP發布時,他們似乎並不榮幸。

@格雷格

要考慮的一種選擇是讓Maven代替Eclipse WTP將WAR推送到服務器。

這可能需要權衡取舍,這取決於Eclipse在幕后為您做的事情。

再一次,您的桌面將更准確地反映CI生成中發生的情況。

無論如何, 本指南深入解釋了如何配置tomcat7:deploy目標。

以下是建議的pom.xml代碼段,可以幫助您入門:

<plugins>
    <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.2</version>
        <executions>
            <execution>
                <phase>deploy</phase>
                <goals>
                    <goal>redeploy</goal>
                </goals>
                <configuration>
                    <url>http://localhost:8080/manager/text</url>
                    <server>TomcatServer</server>
                    <path>/mkyongWebApp</path>
                </configuration>
            </execution>
        </execution>
    </plugin>
  </plugins>

暫無
暫無

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

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