src / main / resources下的文件位于target / WEB-INF / classes下

时间:2015-04-12 22:21:50

标签: java maven spring-mvc

该项目是Maven的Spring MVC。

以下是示例文件夹结构:

  • 的src /主/ JAVA
  • 的src /主/资源
    • CSS
    • 字体
    • 图像
    • JS​​
    • messages_en.properties
  • 的src /主/ web应用
    • WEB-INF
      • 视图
      • 应用context.xml中
      • 的web.xml

这是有效pom的构建部分

<sourceDirectory>${basedir}\src\main\java</sourceDirectory>
<scriptSourceDirectory>${basedir}\src\main\scripts</scriptSourceDirectory>
<outputDirectory>${basedir}\target\classes</outputDirectory>
<resources>
  <resource>
    <directory>${basedir}\src\main\resources</directory>
  </resource>
</resources>
<directory>${basedir}\target</directory>
<finalName>m2mproject</finalName>

目标目录就像这样

  • WEB-INF
      • COM ....
      • 图像
      • 字体
      • JS​​
      • CSS
      • messages_en.properties
    • LIB
    • 视图
    • apllication-context.xml中
    • 的web.xml

为什么maven将所有资源放在classes文件夹下?我的文件夹结构错了吗?

2 个答案:

答案 0 :(得分:2)

简单解释一下maven行为

放在src / main / resources中的东西应该可以从classpath访问。因此,在Web应用程序的情况下,它将放在WEB-INF / classes

将src / main / webapp中的内容复制到Web应用程序根目录

答案 1 :(得分:1)

Maven做得很好但是 因为您正在使用spring MVC,所以资源应该是一个静态资源,应该放在

之下

主/ web应用/资源

,而您的网页将在

之下

主/ web应用/ WEB-INF /视图

并且应该包含.html或.jsp页面

现在主要/资源用于配置文件,例如persistence.xml或faces属性以及任何其他将用于&#34; java&#34;类。