Maven 如何在Eclipse中使用JRebel运行Jetty?

Maven 如何在Eclipse中使用JRebel运行Jetty?,maven,jetty,embedded-jetty,maven-jetty-plugin,jrebel,Maven,Jetty,Embedded Jetty,Maven Jetty Plugin,Jrebel,我正在Eclipse中使用jetty maven插件来部署我的应用程序。这是pom.xml的一部分: <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>9.2.5.v20141112</

我正在Eclipse中使用jetty maven插件来部署我的应用程序。这是pom.xml的一部分:

        <plugin>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>9.2.5.v20141112</version>
            <dependencies>
                <dependency>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm</artifactId>
                    <version>5.0.2</version>
                </dependency>
                <dependency>
                    <groupId>org.ow2.asm</groupId>
                    <artifactId>asm-commons</artifactId>
                    <version>5.0.2</version>
                </dependency>
            </dependencies>
            <configuration>
                <scanIntervalSeconds>2</scanIntervalSeconds>
                <stopKey>stop</stopKey>
                <stopPort>9999</stopPort>
            </configuration>
        </plugin>

org.eclipse.jetty
jetty maven插件
9.2.5.v20141112
org.ow2.asm
asm
5.0.2
org.ow2.asm
公共空间
5.0.2
2.
停止
9999

我还在Eclipse中安装了JRebel插件。那么,我如何用JRebel启动jetty服务器呢?

我很幸运地在Maven配置页面(我称之为jetty:run)中找到了答案,它可以正常工作。对于那些同样需要此功能并使用JRebel Eclipse插件的用户,以下是答案:

(如果有人知道更好的方法,我仍将不胜感激。可能是在pom.xml中,在jetty.maven.plugin的配置中?)


您需要将JRebel指定为JVM参数。由于Jetty是在与Maven相同的JVM进程中启动的,一旦Maven发现您在那里配置了Jetty,就已经太晚了

在这种情况下,你有两种选择

  • 将参数传递给Maven,由于Jetty是在同一进程中启动的,因此它将钩住JRebel代理。您可以为此使用
    MAVEN\u OPTS
    环境变量
  • 使用
    jetty:runforked
    。它为Jetty创建一个单独的JVM进程,并允许通过
    配置选项指定参数 使用eclipse Marketplace(帮助>eclipse Marketplace)安装并重新启动eclipse

    创建maven项目并配置jetty server后,右键单击该项目,现在应该可以在上下文菜单中看到JRebel选项。单击
    JRebel>添加JRebel属性

    完成此操作后,您的项目将自动生成一个
    rebel.xml
    文件,并应配置为在不重新启动服务器的情况下随您在项目中所做的更改一起运行。除此之外,我没有对项目做任何具体的更改。但是JRebel工作得很好

    您还可以通过这样做将JRebel特性添加到项目中

    Help > JRebel Configuration > Projects Tab > Other Projects > Demo_Project
    
    希望这有帮助