带过滤的码头

时间:2011-06-29 08:39:21

标签: java eclipse maven-2 jetty maven-jetty-plugin

我一直在努力让Jetty与maven过滤一起运行。 jetty:run使用maven源目录,因此看不到过滤后的文件。 jetty:run-explosion工作正常,但我无法实时更新我的​​网页。

当然,必须有一种方法可以使用maven过滤,而不是每次更改网页时都不重新运行jetty任务?

(有没有办法让eclipse自动将网页复制到目标目录?我认为它会默认执行此操作但它似乎不起作用。我曾经使用带有触发器和蚂蚁的eclipse构建器任务,但这似乎有点老式。)

1 个答案:

答案 0 :(得分:1)

我几乎有同样的问题。我已经解决了改变jetty插件路径的问题。我所做的只是

  • 在另一个配置文件上提取配置。 (本例中为Jetty)
  • 添加其他资源总监以进行过滤
  • 更改要配置的jetty插件的路径

    <profile>
     <id>jetty</id>
     <build>
        <resources>
           <resource>
              <directory>../../conf/jetty</directory>
              <filtering>true</filtering>
           </resource>
        </resources>
        <plugins>
           <plugin>
              <groupId>org.mortbay.jetty</groupId>
              <artifactId>jetty-maven-plugin</artifactId>
              <version>${jetty-version}</version>
              ..
              <configuration>
                 <jettyConfig>${project.build.outputDirectory}/jetty.xml</jettyConfig>
                 <webAppConfig>
                    <contextPath>/${jettyContextName}</contextPath>
                    ..
                    <jettyEnvXml>${project.build.outputDirectory}/jetty-env-${jetty-env}.xml</jettyEnvXml>
                 </webAppConfig>
                 <stopKey/>
                 <stopPort/>
              </configuration>
           </plugin>
        </plugins>
     </build>
    </profile>
    

如果您共享配置,我们可以协助进一步修改。但基本上你想要做的不是简单的任务,而是因为改变文件 inplace 而危险。

也可能有另一个建议。尽管不推荐这种方式,你可能会在jetty之前运行war:inplace。就像这样运行。

    mvn war:inplace jetty:run

但是我没有尝试过这个解决方案,我建议你不要这样做。