2012-10-17 17 views
1
MyProject > src 
      > target 
        > MyProject > classes (1) 
        > classes (2) 

實際的新編譯代碼正在投入2編譯的類,但戰爭文件是越來越創建1.用這樣我的戰爭檔案不是最新的。Maven是使用了錯誤的類目錄中創建一個戰爭,或者是放錯了地方

我該怎麼做?下面顯示了我的POM片段...:

<build> 
     <finalName>MyProject</finalName> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.2</version> 
       <configuration> 
        <source>1.6</source> 
        <target>1.6</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <configuration> 
        <webXml>src\main\webapp\WEB-INF\web.xml</webXml> 
        <warName>MyProject</warName> 

       </configuration> 
       <version>2.1.1</version> 
      </plugin> 
     </plugins> 
    </build> 
+1

你可以附上一些示例pom.xml來向我們展示錯誤的行爲嗎? – balent

+0

@明天哪一點你想看? – NimChimpsky

回答

0

target/PROJ不過是爆炸性的戰爭。

嘗試刪除目標目錄。從命令行執行maven構建。並檢查是否所有的東西都是在這個時候創建​​的。如果是這樣,那麼maven的行爲是正確的,因爲這兩個地方都包含更新的類文件,並且target/PROJ目錄是爆炸的war目錄。您可以使用該目錄的路徑在tomcat/web容器中設置上下文。

0

我有點懷疑你在展示什麼。

通常在戰爭中的項目,目標應該是類似

PROJ 
    + target 
    + classes 
    + PROJ-version 
     + WEB-INF 
     + classes 

我從來沒有看到一個target/PROJ在Maven的WAR項目

如果我所展示的是你看到的,那麼它是什麼Maven總是這樣做。

源代碼被編譯並放入類中。

在創建WAR期間,包括項目target/classes在內的不同文件將被複制到形成WAR結構的PROJ-version目錄中,並且將用於創建WAR文件。

因此,在創建WAR時,Maven使用target/PROJ-version/WEB-INF/classes應該沒有問題,因爲它在構建時從target/classes複製而來。

如果不是你的情況,可能我會建議你分享你的POM。您提到的目錄對WAR項目來說似乎不太合理。

相關問題