3

这是一个使用 Intellij + AS7 构建和部署的现有项目。我想使用 Netbeans 7.3.1 构建和部署,所以我在 NetBeans 中创建了一个新的 Maven 项目,选择“使用 Maven pom.xml 文件导入项目”选项。NetBeans 识别了这些模块并使用 Maven 成功构建了项目。非常好。

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

接下来,我使用 NetBeans 的服务面板启动了 JBoss。接下来,我单击了 Run Project 按钮,预计会发生部署,但 NetBeans 只是再次重建了项目。然后我记得配置 Intellij 以使用目标目录构建和部署。我看不到在 NetBeans 中执行此操作的方法。那么,如何使用 NetBeans 设置部署?

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

完成时间:2013 年 8 月 20 日星期二 14:33:38 EDT

最终内存:22M/364M

NetBeans:部署在 JBoss 应用服务器上

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

分发 G:\Patrac_Netbeans\Patrac-ejb\target\Patrac-ejb.jar 到 [org.jboss.as.ee.deployment.spi.DeploymentManagerTarget@45fbf23c]

部署 G:\Patrac_Netbeans\Patrac-ejb\target\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 EJB 模块

Patrac 网络模块

构建 PATRAC 1.0-SNAPSHOT

...

构建 Patrac EJB 模块 1.0

...

构建 Patrac Web 模块 1.0

...

[战争:战争]

打包 webapp

在 [G:\Patrac_Netbeans\Patrac-web\target\Patrac.war] 中组装 webapp [Patrac-web]

加工战争项目

复制 webapp 资源 [G:\Patrac_Netbeans\Patrac-web\src\main\webapp]

Webapp 在 [557 毫秒] 内组装

构建战争:G:\Patrac_Netbeans\Patrac-web\target\Patrac-web-1.0.war

反应堆总结:

PATRAC - 医师助理跟踪............成功 [0.043s]

Patrac EJB 模块 .................... 成功 [8.100s]

Patrac Web 模块 .................... 成功 [2.324s]

建立成功

总时间:10.882s

完成时间:2013 年 8 月 20 日星期二 14:17:34 EDT

最终内存:25M/366M

为什么不部署 NetBeans?也许问题是它不知道组装好的WAR在哪里?查看输出,它从G:\Patrac_Netbeans根 POM 所在的位置运行 Maven。然而,组装好的 WAR 位于G:\Patrac_Netbeans\Patrac-web\target\Patrac.war.

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-plugin并且jboss-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>

问题解决了!

4

1 回答 1

3

netbeans 中“运行项目”按钮的默认 Maven 目标是package. 此目标会构建项目但不会部署您的应用程序。

您可以通过以下方式更改:

  1. 右键单击您的项目并转到属性。
  2. 在类别面板下,选择操作。
  3. 选择“运行项目”操作并编辑“执行目标”文本框(例如jboss:start)。

请注意,您将需要jboss maven 插件

于 2013-08-20T03:16:42.090 回答