Java Web应用程序:静态资源的存放位置
我在web服务层中使用了enuciate(),我只想做一些非常简单的事情,但没有找到任何文档 我想部署一些图像和其他静态资源,并可从中访问,例如Java Web应用程序:静态资源的存放位置,java,web-applications,enunciate,Java,Web Applications,Enunciate,我在web服务层中使用了enuciate(),我只想做一些非常简单的事情,但没有找到任何文档 我想部署一些图像和其他静态资源,并可从中访问,例如http://localhost:8080/myapp/images/img01.png 我试图在src/main/resources下创建一个文件夹images,但它并没有按照我想要的方式部署(里面的所有文件/文件夹都转到myapp/WEB-INF/classes,这是意料之中的) 有人可以告诉我,在阐明项目中,静态资源在哪里 我没有web.xml,因
http://localhost:8080/myapp/images/img01.png
我试图在src/main/resources
下创建一个文件夹images
,但它并没有按照我想要的方式部署(里面的所有文件/文件夹都转到myapp/WEB-INF/classes,这是意料之中的)
有人可以告诉我,在阐明项目中,静态资源在哪里
我没有web.xml,因为它是由Enounciate框架自动生成的。静态资源是使用。所以基本上,你只需将你的图像放在
src/main/webapp/images/img01.png
下,事实上我找到了方法,并发布了我的解决方案作为答案
在我们的pom.xml
中,我们将expunciate.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>
这意味着静态资源可以放在src/conf/web/
中,然后名为images
的文件夹将位于:src/conf/web/images
像这样,http://localhost:8080/myappcontext/images/
显示可用于webapp元素的选项:
- preBase是一个文件夹或压缩的归档文件,它将在“阐明”生成之前复制
- postBase是一个压缩存档文件夹,将在阐明生成后复制
对于图像和其他静态资源,使用其中一个属性应该不会有任何区别。是的,我知道标准方法,但对于Enounciate项目,我们不再有webapps文件夹,因为主要内容是自动生成的(我们也使用maven Enounciate spring插件)。我想知道除了使用一个新的插件,是否还有其他方法。除了默认情况下包含的内容之外,没有其他方法可以告诉Enunciate包含一组额外的静态资源。您可以选择指定一个文档“base”来替换说明用途的base。请参阅文档模块的“base”属性,该属性记录在此处,但不正确,请参阅我的答案。您的链接指向生成的文档,但我希望静态资源与任何其他web应用程序一样。
<webapp postBase="web"></webapp>