我的Maven项目使用的是jetty-maven-plugin版本7,我曾经通过在"webAppConfig"中指定"extraClasspath"参数将目录添加到Jetty的类路径中,如下所示:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.0.1.v20091125</version>
<configuration>
<webAppConfig>
<contextPath>/</contextPath>
<extraClasspath>${basedir}/src/profiles/jetty</extraClasspath>
</webAppConfig>
<useTestClasspath>true</useTestClasspath>
</configuration>
</plugin>
今天我决定更新到最新版本的jetty-maven-plugin,我发现不再有"extraClasspath"参数了。
如何将目录添加到具有最新版本的 jetty-maven-plugin 的类路径中?
看起来它移动了...这就是我让它工作的方式:
<webApp>
<extraClasspath>${basedir}/local/properties</extraClasspath>
</webApp>
根据 https://www.eclipse.org/jetty/documentation/9.3.0.v20150612/jetty-maven-plugin.html 的说法,除了 webapp 之外,这应该可以添加一个资源目录:
resourceBases
如果要从中提供静态内容的多个目录,请使用而不是
baseResource
。这是一个目录名称数组。
如果只想更改基目录,则可以使用:
baseResource
Jetty 提供静态资源的路径。默认为
src/main/webapp
。
这就是我实现resourceBases
除了src/main/webapp
之外还包括一个目录的方式:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty.version}</version>
<configuration>
<webApp>
<contextPath>/pf</contextPath>
<descriptor>${project.build.directory}/${project.build.finalName}/WEB-INF/web.xml</descriptor>
<resourceBases>
<baseResource>src/main/webapp</baseResource>
<baseResource>some/other/directory</baseResource>
</resourceBases>
</webApp>
</configuration>
</plugin>