我一直在努力让 Jetty 与 Maven 过滤一起运行。 jetty:run 使用 maven 源目录,因此看不到过滤后的文件。 jetty:run-exploded 工作正常,但我无法实时更新我的网页。
肯定有一种方法可以使用 Maven 过滤,而不是每次更改网页时都重新运行 jetty 任务?
(有没有办法让 Eclipse 自动将网页复制到目标目录?我以为它会默认执行此操作,但它似乎不起作用。我曾经使用带有触发器和 ant 任务的 Eclipse 构建器,但这似乎有点过时。)
最佳答案
我遇到了几乎同样的问题。我已经解决了更改 jetty 插件路径的问题。我所做的只是简单
- 通过另一个配置文件抽象配置。 (本例中为 Jetty)
- 添加另一个资源 Controller 用于过滤
更改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>
如果您分享您的配置,我们可以协助您进行进一步修改。但基本上你想做的事情并不是一件容易的事,而且很危险,因为就地更改文件。
也可能有另一个建议。尽管不推荐这种方式,但您可以像这样在 jetty:run 之前运行 war:inplace 。
mvn war:inplace jetty:run
但是我还没有尝试过这种解决方案,我建议您远离这种方式。
关于java - 带过滤功能的 jetty ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6517841/