【问题标题】:Additional maven source folders such as src/main/javascript or src/main/css?其他 maven 源文件夹,例如 src/main/javascript 或 src/main/css?
【发布时间】:2013-06-07 05:39:40
【问题描述】:

我一直在开发一个标准的 Web 应用程序,让 Eclipse 以如此方便的平面包方式显示 src/main/resources 和 src/main/java 真的很烦人,但我不得不经常深入到 src/ main/webapp 及其所有子目录来修改我的 css、js 和 html 文件。

我从来没有见过一个项目使用额外的源文件夹来存储类似的资源,但是尝试一下就不可能了吗?理想情况下,我希望有一个像

这样的目录结构
src/main/java
src/main/resources
src/main/jsp
src/main/javascript
src/main/css

有人设置过这样的项目吗?尝试破坏现有插件等等是否会变得更加麻烦?

【问题讨论】:

  • 上面听起来像一个webapp,因此将jsp、javascript和css之类的东西放到src/main/webapp/文件夹中......所以不需要补充资源配置。

标签: java maven directory


【解决方案1】:

以这种方式添加资源文件夹。

<project>
 ...
 <build>
   ...
   <resources>
     <resource>
       <directory>resource1</directory>
     </resource>
     <resource>
       <directory>resource2</directory>
     </resource>
     <resource>
       <directory>resource3</directory>
     </resource>
   </resources>
   ...
 </build>
 ...
</project>

More information

但是,如果您想要多个 Web 资源(WAR 文件中的WEB-INF 目录),则需要配置Maven War plugin

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-war-plugin</artifactId>
      <version>2.3</version>
      <configuration>
        <webResources>
          <resource>
            <directory>src/main/jsp</directory>
          </resource>
          <resource>
            <directory>src/main/javascript</directory>
          </resource>
          <resource>
            <directory>src/main/css</directory>
          </resource>
        </webResources>
      </configuration>
    </plugin>
  </plugins>
</build>

【讨论】:

  • 这对我来说是正确的。 IntelliJ 和 Eclipse 是否能正确处理这个问题是另一回事……不过他们应该这样做。当您使用 Build Helper Maven Plugin (mojo.codehaus.org/build-helper-maven-plugin) 添加源目录时,IDE 开始显示其局限性。干杯。
  • 这不就是把所有的资源都放到classpath里,而不是放到html资源需要去的WEB-INF文件夹里吗?
  • 是的,但我是这样理解你的问题的。您可能希望将多个 webapp 目录合并为一个?
  • 没错,我正在寻找一种方法来分离我的 webapp 资源,并在最后将它们全部合并到 webapp - 谢谢!
最近更新 更多