2

我正在将我当前的 java EE 项目移植到 maven。我正在研究由 maven 创建的战争的文件夹结构,不知何故被卡住了。

Maven 将我的所有文件复制到 webapps 中,包括 WEB-INF/classes 文件夹中的 .css、.js 等。我为他们保留了不同的文件夹资源,并且只希望将 .class 和 .properties 文件复制到 classes 文件夹中。

有什么想法我怎么能做到这一点?

-- 添加更多数据 --

使用

 <webResources>
<resource>
<directory>${basedir}/src/main/resources</directory>
<targetPath>resources</targetPath>
<includes>
<include>**/*.*</include>
</includes>
</resource>
 </webResources>

在我的战争中创建一个资源文件夹并将所有这些文件保存在资源文件夹中,但不知何故,它们的副本也在 WEB-INF/classes 中创建

4

2 回答 2

3

您可以配置maven-war-plugin以从打包中排除某些文件。检查文档

但是,通常您将 Web 资源保存在应用程序目录中的类路径之外(因此不在 中src/main/resources) 。webapp

资源被复制到classes目录中,因为src/main/resources目标是接收您希望在类路径上可用的文件(properties文件、xml 配置文件等)。

于 2013-03-14T08:53:13.597 回答
3

正如@benzonico 提到的,您应该将webapp资源保留在src/main/webapp而不是src/main/resources. 如果您无法更改它,您可以添加类似于以下内容的内容,以排除jscss文件被复制到类文件夹。

 <build>
    ...
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <excludes>
          <exclude>*.css</exclude>
          <exclude>*.js</exclude>
        </excludes>
      </resource>
      ...
    </resources>
    ...
  </build>
于 2013-03-14T09:09:30.803 回答