Netbeans、Maven 和 Glassfish 的热部署变化

发布于 2024-08-22 05:59:57 字数 358 浏览 16 评论 0原文

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

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

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

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

Recently we migrated from using ant to maven. Within Netbeans, I used to edit and save html, xhtml, javascript, css files in the WAR and almost immediately the changes were available on the server.

Now, when I edit and save those types of files in the WAR, nothing happens. I have to right click my EAR -> Build with dependencies -> Run to make the changes available. This process takes ages.

I've found a few similar questions, but am still confused.

EDIT: I just wiped my development environment and setup from scratch again. Then I duplicated the setup on a co-worker's machine (him on Windows, me on Ubuntu). With the same setup process, less different OSs, he can edit/save xhtml files and see the changes without additional steps!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

许久 2024-08-29 05:59:57

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

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

这个属性会被继承,所以如果你有一个父项目,你可以考虑把它放在那里。

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

To enable hot-deploy, enable the "Compile on Save" feature in Netbeans. In your POM, add this property:

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

This property will be inherited, so if you have a parent project, you may consider putting it there.

Note that there is a bug in which the change is not reflected in the UI, so it will look like the property has no effect, but you'll notice that hot-deploy works.

苦行僧 2024-08-29 05:59:57

这并不是一个好主意……但我可能也是为了快速开发而这样做的。嘘!使用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 命令)。

Not really a good idea... but I may have done it for rapid development as well. Shh! Use maven's exec plugin to do it. From my 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>

EDIT: Assuming asadmin (which is a glassfish command) can be found.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文