使用Netbeans,Maven和Glassfish进行热部署更改

时间:2010-02-18 18:01:29

标签: netbeans glassfish maven war hotdeploy

最近我们从使用ant迁移到了maven。在Netbeans中,我曾经在WAR中编辑和保存html,xhtml,javascript,css文件,几乎可以立即在服务器上进行更改。

现在,当我在WAR中编辑并保存这些类型的文件时,没有任何反应。我必须右键单击我的EAR - >使用依赖项构建 - >运行以使更改可用。这个过程需要很长时间。

我发现了一些类似的问题,但我仍然感到困惑。

编辑:我刚刚擦除了我的开发环境并从头开始设置。然后我在同事的机器上复制了设置(他在Windows上,我在Ubuntu上)。使用相同的设置过程,不同的操作系统,他可以编辑/保存xhtml文件,无需额外步骤即可查看更改!

2 个答案:

答案 0 :(得分:3)

要启用热部署,请启用Netbeans中的“保存时编译”功能。在您的POM中,添加以下属性:

<netbeans.compile.on.save>all</netbeans.compile.on.save>

此属性将被继承,因此如果您有父项目,则可以考虑将其放在那里。

请注意,存在一个错误,其中更改未反映在UI中,因此看起来该属性没有任何效果,但您会注意到热部署有效。

答案 1 :(得分:1)

不是一个好主意......但我也可以为快速发展做到这一点。嘘!使用maven的exec插件来完成它。从我的pom:

<plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <phase>integration-test</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <executable>asadmin</executable>
                <arguments>
                    <argument>deploy</argument>
                    <argument>${project.build.directory}/${project.build.finalName}</argument>
                </arguments>
            </configuration>
        </plugin>

编辑:假设asadmin(这是一个glassfish命令)可以找到。