问题
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!
回答1:
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.
回答2:
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.
来源:https://stackoverflow.com/questions/2290935/hot-deploying-changes-with-netbeans-maven-and-glassfish