2017-02-27 63 views
0

我有一個包裝類型爲war(JSF應用程序)的maven-module「web-app」。它對包裝類型爲jar的同一項目的另一個模塊「核心」具有依賴性。這個jar包含了Java類和資源(js或xhtml-Files)。使用IntelliJ IDEA部署分解多模塊項目

現在我在IntelliJ 2016.3中使用Web應用程序的分解版本在JBoss上進行部署。但是模塊「核心」也沒有爆炸,所以我不能對核心資源進行熱部署。但是:類的熱部署工作。

我已經對webapp-artifact嘗試了一些修改: 當我在JBoss啓動時加入「核心編譯輸出」到WEB-INF/classes,但找不到任何資源。 當將「核心編譯輸出」添加到沒有被jar包圍的WEB-INF/lib中時,我得到一堆ClassNotFound-Exceptions。

我重視的神器當前配置: enter image description here

你有一個想法,我怎麼能熱再部署我的資源?

- 編輯

包裝時使用maven -folder包含所有依賴關係罐子web-app/target項目。 使用Maven的資源,我的插件添加到web應用的pom.xml下面的代碼片斷的CrazyCoders評論後:

# web-app/pom.xml 
<build> 
    ... 
    <resources> 
     <resource> 
      <directory>../core/src/main/resources/META-INF/resources</directory> 
     </resource> 
    </resources> 
    ... 
</build> 

現在的資源在web-app/target -folder!例如,文件search.xhtml位於以下位置:

1. web-app/target/classes/app/search/search.xhtml 
2. web-app/target/<finalName>/WEB-INF/classes/app/search/search.xhtml 

,包裝瓶之後裏面:

3. web-app/target/<finalName>/WEB-INF/lib/core-1.11.0-SNAPSHOT.jar 
4. core/target/core.jar 

當我改變search.xhtml並單擊IntelliJ IDEA的「更新資源」,只有文件1.,2.和3.更改,但不是4.

重新加載時仍然沒有任何反應。在上面的屏幕截圖中,配置了IntelliJ應該使用core-1.11.0-SNAPSHOT而不是core.jar。或者還有其他的原因,爲什麼這些資源不會更新?

問候, 六甲

+0

你確定核心編譯輸出包含所有必需的文件嗎?檢查磁盤上的輸出目錄。 – CrazyCoder

+0

是的,它包含所有的.cass文件,但沒有像css或js這樣的資源文件。 –

+0

因此,問題是由模塊的編譯輸出中缺少的資源引起的? – CrazyCoder

回答

0

這聽起來很相似,我一直在努力與過去幾天的一個問題。問題是Intellij沒有使用Maven來構建模塊。這只是做一個簡單的編譯。所以jar沒有正確打包。我的解決方法是從lib節點中刪除模塊的條目,使用Add Copy of of替換新條目將文件指向模塊目標文件夾中的jar文件。完成之後,我還需要在配置之前添加一個運行Maven目標,以在構建戰爭工件之前執行「清理包」。

相關問題