感谢@Randy,我也设法让它工作了。下面是一个最新的例子,展示了资源过滤和使用 org.eclipse.jetty 而不是旧的 mortbay 的码头变基 baseResource。在这里,我们过滤两个 jsp 页面 login.jsp 和 index.jsp,并根据下面的属性部分将 jsp 中的变量“${login.resources}”设置为“login.res.jsp”。请注意,我们过滤并将这些写入“jetty.docroot”,然后我们将 jetty.docroot 覆盖在 src/main/webapps 上,以便我们过滤的 jsps 被 jetty 使用。覆盖从@Randy 更新为使用更新的“org.eclipse.jetty.util.resource.ResourceCollection”实现。
<profiles>
<profile>
<id>jetty</id>
<properties>
<jetty.docroot>${project.build.directory}/jetty</jetty.docroot>
<login.resources>login.res.jsp</login.resources>
</properties>
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<id>jetty-docroot</id>
<!-- test-compile precedes jetty:run -->
<phase>test-compile</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${jetty.docroot}</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/webapp</directory>
<filtering>true</filtering>
<includes>
<include>**/login.jsp</include>
<include>**/index.jsp</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.0.v20161208</version>
<configuration>
<scanIntervalSeconds>2</scanIntervalSeconds>
<webApp>
<contextPath>/intamerge</contextPath>
<baseResource implementation="org.eclipse.jetty.util.resource.ResourceCollection">
<resourcesAsCSV>${jetty.docroot},${basedir}/src/main/webapp</resourcesAsCSV>
</baseResource>
<baseAppFirst>false</baseAppFirst>
</webApp>
</configuration>
</plugin>
</plugins>
</build>
</profile>