如何使用 jetty-maven-plugin 9.x 将目录添加到类路径中



我的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>

最新更新