2013-08-20 53 views
3

這是一個使用Intellij + AS7輕鬆建立和部署的現有項目。我想使用Netbeans 7.3.1進行構建和部署,因此我在NetBeans中創建了一個新的Maven項目,選擇「使用Maven pom.xml文件導入項目」選項。 NetBeans認識到這些模塊並使用Maven成功構建了項目。非常好。如何使用Netbeans部署WAR 7.3.1 + JBoss AS7

Webapp assembled in [931 msecs] 
Building war: G:\Patrac_Netbeans\Patrac-web\target\Patrac-web-1.0.war 

接下來,我使用NetBeans的「服務」面板啓動了JBoss。接下來,我單擊「運行項目」按鈕,期望進行部署,但NetBeans僅重新生成項目。然後我想起配置Intellij以使用目標目錄構建&部署。我沒有看到在NetBeans中執行此操作的方法。那麼,如何使用NetBeans設置部署?

UPDATE 2013年8月20日:

的EJB-和WAR模塊工作的部署。下面是部署EJB時的輸出:

cd G:\ Patrac_Netbeans \ Patrac-ejb; 「JAVA_HOME = C:\ Program Files \ Java \ jdk1.7.0_25」「\」G:\ Program Files \ NetBeans 7.3.1 \ java \ maven \ bin \ mvn.bat \「」-Dnetbeans.deploy = true包

掃描的項目...

大廈Patrac EJB模塊1.0

...

使成功

總時間:8.251s

收於:星期二08月20日美國東部時間14:33:38 2013

最後內存:22M/364M

NetBeans的:部署在JBoss應用服務器

profile mode: false 
debug mode: false 
force redeploy: true 

分佈G於:\ Patrac_Netbeans \ Patrac-EJB \目標\ Patrac-ejb.jar爲[有機[email protected]]

部署G:\ Patrac_Netbeans \ Patrac-EJB \目標\ Patrac-ejb.jar

但是,當我嘗試運行整個應用程序時,NetBeans未部署:

cd G:\ Patrac_Netbeans; 「JAVA_HOME = C:\ Program Files \ Java \ jdk1.7.0_25」「\」G:\ Program Files \ NetBeans 7.3.1 \ java \ maven \ bin \ mvn.bat \「」-Dnetbeans.deploy = true包

掃描的項目...

反應堆構建順序:

PATRAC

Patrac EJB模塊

Patrac Web模塊

大廈PATRAC 1。0-快照

...

大廈Patrac EJB模塊1.0

...

大廈Patrac Web模塊1.0

...

[戰爭:戰爭]

包裝webapp

組裝的webapp [Patrac-網]在[G:\ Patrac_Netbeans \ Patrac的web \目標\ Patrac.war]

處理戰爭的項目

複製Web應用程序資源[G:\ Patrac_Netbeans \ Patrac的Web \ SRC \主\ web應用]

的webapp組裝在[557毫秒]

建築戰爭:G:\ Patrac_Netbeans \ Patrac幅\目標\ Patrac-web的1.0.war

反應堆總結:

PATRAC - 助理醫師跟蹤............. SUCCESS [0.043s]

Patrac EJB模塊................ ................. SUCCESS [8.100s]

Patrac Web模塊..................... ............ SUCCESS [2.324s]

BUILD SUCCESS

總時間:10.882s

在成品:星期二年08月20十四時17: 34 EDT 2013

最終內存:25M/366M

世界爲什麼不NetBeans的部署?也許問題在於它不知道組裝的WAR所在的位置?查看輸出結果,它會運行來自G:\Patrac_Netbeans的Maven,這是根POM所在的位置。然而,組裝的WAR位於G:\Patrac_Netbeans\Patrac-web\target\Patrac.war

UPDATE 2013年8月21日:

據透露插件配置爲如下:

  <plugin> 
       <groupId>org.jboss.as.plugins</groupId> 
       <artifactId>jboss-as-maven-plugin</artifactId> 
       <version>7.4.Final</version> 
      </plugin> 

由於@happymeal正確地指出(見他的評論,下同),通過簡單地看Maven的輸出插件沒有運行。感謝@James R. Perkins,我意識到實際上有兩個插件:jboss-maven-pluginjboss-as-maven-plugin,並且因爲我使用的是後一個插件,所以我使用了錯誤的目標:jboss:deploy而不是jboss-as:deploy。糾正這個錯誤並重新運行在NetBeans中的項目出現以下錯誤:

Caused by: java.io.FileNotFoundException: G:\Patrac_Netbeans\target\Patrac-1.0-SNAPSHOT.maven-project (The system cannot find the path specified) 

接下來,我補充說,最終解決了這個問題的一些配置參數:

  <plugin> 
       <groupId>org.jboss.as.plugins</groupId> 
       <artifactId>jboss-as-maven-plugin</artifactId> 
       <version>7.4.Final</version> 
       <configuration> 
        <force>true</force> 
        <targetDir>G:\Patrac_Netbeans\Patrac-web\target</targetDir> 
        <filename>Patrac-web-1.0.war</filename> 
       </configuration>      
      </plugin> 

問題解決了!

+1

從你的netbeans輸出中,你仍然運行mvn.bat和'package'目標:cd G:\ Patrac_Netbeans; 「JAVA_HOME = C:\ Program Files \ Java \ jdk1.7.0_25」「\」G:\ Program Files \ NetBeans 7.3.1 \ java \ maven \ bin \ mvn.bat \「」-Dnetbeans.deploy = true **包**。因此,您的項目只是建立,但沒有部署。 – happymeal

回答

3

netbeans中「Run Project」按鈕的默認maven目標是package。此目標構建該項目,但不會部署您的應用程序。

您可以通過改變這樣的:你的項目

  1. 右鍵單擊,然後轉到屬性。
  2. 在類別面板下,選擇操作。
  3. 選擇「運行項目」操作並編輯「執行目標」文本框(例如jboss:start)。

請注意,您將需要jboss maven plugin

+0

安裝了JBoss Maven插件,在擺弄NetBeans之後,我注意到了EJB和WAR的部署。奇怪的。 'jboss:start'沒有幫助。我已經更新了上面的問題,以迴應您的有用答案。 –

+1

還有一個專爲JBoss AS 7和JBoss EAP設計的jboss-as-maven插件。 https://docs.jboss.org/jbossas/7/plugins/maven/latest/ –

+1

我從來沒有使用jboss插件,但我想有一些配置需要。也許你可能想從你的POM發佈你的jboss maven插件配置。 – happymeal