Я создал s3-webcache-maven-plugin , который загружает изображения, javascript, css и любые другие статические ресурсы из src / main / webapp в заданное S3 Bucket, а источники доступны по адресу https://github.com/aro1976/aws-parent.
Кроме того, он создает манифест с именем WEB-INF / s3-webcache.xml , который может использоваться фильтром сервлетов для перенаправления запросов с вашего веб-сервера на S3 или CloudForge .
Вам необходимо поместить следующую конфигурацию в :
<plugin>
<groupId>br.com.dynamicflow.aws</groupId>
<artifactId>s3-webcache-maven-plugin</artifactId>
<version>0.0.2-SNAPSHOT</version>
<configuration>
<accessKey>${s3.accessKey}</accessKey>
<secretKey>${s3.secretKey}</secretKey>
<bucketName>${s3.bucketName}</bucketName>
<hostName>${cloudForge.cname}</hostName><!-- hostName is optional -->
<includes>
<include>**/*.gif</include>
<include>**/*.jpg</include>
<include>**/*.tif</include>
<include>**/*.png</include>
<include>**/*.pdf</include>
<include>**/*.swf</include>
<include>**/*.eps</include>
<include>**/*.js</include>
<include>**/*.css</include>
</includes>
<excludes>
<exclude>WEB-INF/**</exclude>
</excludes>
</configuration>
<executions>
<execution>
<goals>
<goal>upload</goal>
</goals>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin>
Параметры конфигурации, такие как , включают и , исключая , которые требуются в настоящее время, и вы можете использовать традиционное регулярное выражение maven.
Имена файлов, хранящиеся в S3 , заменяются их SHA-256 дайджестом, чтобы обеспечить очень длинные заголовки кэша и оптимизацию нескольких войн, поэтому я создал WebCacheFilter , что очень просто и переводит традиционные имена файлов с помощью дайджеста SHA-256.
Проверьте Пример проекта в https://github.com/aro1976/aws-parent/tree/aws-parent-0.0.1/aws-examples/s3-webcache-example,, особенно файлы pom.xml (с конфигурацией плагина) и web.xml (с конфигурацией фильтра).