使用Enunciate的Web应用程序:放置静态资源的位置

时间:2013-07-17 16:24:48

标签: java web-applications enunciate

我使用Enunciate(http://enunciate.codehaus.org/)作为我们的网络服务层,我只是想做一些非常简单的事情,但是找不到任何文档。

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

访问

我尝试在images下创建一个文件夹src/main/resources,但它没有像我想要的那样部署(其中的所有文件/文件夹都转到myapp / WEB-INF / classes,这是预期的)。

有人可以指出我在enunciate项目中的静态资源在哪里?

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

2 个答案:

答案 0 :(得分:0)

使用standard project structure of the maven-war-plugin构建静态资源。所以基本上,你只需将你的图像放在src/main/webapp/images/img01.png下。

答案 1 :(得分: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 documentation显示了可用于webapp元素的选项:

  • preBase是一个文件夹或压缩档案,将在enunciate generation
  • 之前复制
  • postBase是压缩档案的文件夹,将在“生成”
  • 之后复制

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