0

我是 maven 新手,我们正在使用 maven3 开发 Spring 应用程序。我们在使用 Maven Web 应用程序 Web 资源时遇到问题,我们无法在我们的应用程序中加载任何资源。将应用程序部署到 tomcat 后,我​​可以看到应用程序需要的文件,但是当应用程序尝试将它们加载为图像时,它无法加载图像。

在我的 webapp 文件夹中,我有这个目录结构:

-rw-r--r-- 1 erkin.unlu domain users  360 Sep 18 11:54 index.jsp
drwxr-xr-x 2 erkin.unlu domain users 4096 Sep 18 11:54 resources/
drwxr-xr-x 3 erkin.unlu domain users 4096 Sep 18 11:54 WEB-INF/

资源文件夹中有一个 magni.png。

部署应用程序后,项目文件夹在 tomcat/webapps 中如下所示:

-rw-r--r-- 1 erkin.unlu domain users  360 Sep 18 11:54 index.jsp
-rw-r--r-- 1 erkin.unlu domain users  518 Sep 18 11:06 magni.png
drwxr-xr-x 3 erkin.unlu domain users 4096 Sep 18 11:54 META-INF/
drwxr-xr-x 2 erkin.unlu domain users 4096 Sep 18 11:54 resources/
drwxr-xr-x 5 erkin.unlu domain users 4096 Sep 18 11:54 WEB-INF/

但是即使我可以从浏览器中看到 index.jsp,当我想看到 magni.png 时,我也会从 Tomcat 收到 404 错误。

有一个类似的项目使用 ant,我们在那个项目上没有这个问题。

顺便说一句,我的 pom.xml 有一个如下所示的战争插件:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>src/main/webapp/resources</directory>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>

那么这种行为的原因是什么?我是否缺少一些 Maven 或 Tomcat 的默认配置?

4

1 回答 1

2

WEB-INF 文件夹外的任何文件都可以直接访问,如下所示。无需身份验证

http://localhost:8080/project/magni.png

似乎是tomcat或权限问题。Maven 只是构建工具。

于 2012-09-18T10:14:28.160 回答