6

我想使用 src/main/javascript 作为我的 javascript 文件的源目录,同时仍然对大多数其他 web 文件使用 src/main/webapp 但 maven jetty:run 插件默认情况下不知道该目录。

以下是我到目前为止所获得的,但它似乎并没有让 Jetty 知道我的 javascript 目录:

<build>
  <plugins>
    <plugin>
      <groupId>org.mortbay.jetty</groupId>
      <artifactId>maven-jetty-plugin</artifactId>
      <version>6.1.12</version>
      <configuration>
        <webAppConfig>
          <contextPath>/${project.artifactId}</contextPath>
          <extraClasspath>target/classes/:src/main/javascript</extraClasspath>
        </webAppConfig> 
        <webResources>
          <resource>
            <directory>src/main/webapp</directory>
            <directory>src/main/javascript</directory>
          </resource>
        </webResources>
      </configuration>
    </plugin>

如何让 maven jetty 插件知道这个附加的 web 目录?

4

3 回答 3

6

看起来这可以帮助你:

所以我会修改你的配置如下:

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <version>6.1.12</version>
  <configuration>
    <webAppConfig>
      <contextPath>/${project.artifactId}</contextPath>
      <!-- Javascript files are not java class files, so you can skip this
      <extraClasspath>target/classes/:src/main/javascript</extraClasspath>
      -->
      <baseResource implementation="org.mortbay.resource.ResourceCollection">
        <resourcesAsCSV>src/main/webapp,src/main/javascript</resourcesAsCSV>
      </baseResource>
    </webAppConfig> 
  </configuration>
</plugin>
于 2012-04-07T20:42:30.377 回答
2

请注意,该ResourceCollection课程已移入最新版本的 Jetty (9.3.0.M2)。

因此,实施应指向org.eclipse.jetty.util.resource

<plugin>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <version>9.3.0.M2</version>
  <configuration>
    <webAppConfig>
      <baseResource implementation="org.eclipse.jetty.util.resource.ResourceCollection">
        <resourcesAsCSV>src/main/webapp,src/main/javascript</resourcesAsCSV>
      </baseResource>
    </webAppConfig> 
  </configuration>
</plugin>
于 2015-04-15T13:58:07.203 回答
0

Jetty 9开始:

<webApp>
  <contextPath>/my-app</contextPath>
  <resourceBases>
    <resourceBase>${project.basedir}/src/main/webapp</resourceBase>
    <resourceBase>${project.basedir}/external-static</resourceBase>
  </resourceBases>
</webApp>
于 2021-02-10T14:19:18.520 回答