0

我将 Enunciate ( http://enunciate.codehaus.org/ ) 用于我们的 web 服务层,我只想做一些非常简单的事情,但没有找到任何文档。

我想部署一些图像和其他静态资源,并且可以从例如http://localhost:8080/myapp/images/img01.png

我试图在images下面创建一个文件夹,src/main/resources但它并没有像我想要的那样部署(里面的所有文件/文件夹都进入 myapp/WEB-INF/classes,正如预期的那样)。

有人可以指出发音项目的静态资源在哪里?

我没有 web.xml,因为它是由发音框架自动生成的。

4

2 回答 2

0

事实上,我找到了如何做到这一点,并将我的解决方案发布为答案

在我们的pom.xml中,我们像这样引用 enunciate.xml 路径:

 <plugin>
    <groupId>org.codehaus.enunciate</groupId>
    <artifactId>maven-enunciate-spring-plugin</artifactId>
    <version>${enunciate.version}</version>
    <configuration>
        <configFile>src/conf/enunciate.xml</configFile>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>assemble</goal>
            </goals>
        </execution>
    </executions>
</plugin>

并在enunciate.xml文件中:

<webapp postBase="web"></webapp>

这意味着可以放入静态资源src/conf/web/ ,然后我的文件夹images将简单地位于:src/conf/web/images.

像这样,所有这些静态资源都可以通过http://localhost:8080/myappcontext/images/

enunciate 文档显示了可用于 webapp 元素的选项:

  • preBase 是一个文件夹或压缩存档,将在发音生成之前复制
  • postBase 是一个压缩存档的文件夹,将在发音生成后复制

对于图像和其他静态资源,使用这些属性之一应该没有任何区别。

于 2013-08-22T19:45:53.320 回答
0

静态资源使用maven-war-plugin. 因此,基本上,您只需将图像放在src/main/webapp/images/img01.png.

于 2013-07-19T03:31:25.940 回答