我有一个 Maven 项目,其中有一个 parent-pom 项目和 3 个 maven-module 项目。其中 2 个模块是编译成 WAR 文件的 Java-EE Web 应用程序。其中 1 个模块包含在其他 2 个项目之间共享的通用 JAVA 代码。共享 JAVA 代码很容易。
我的问题是如何共享公共(public)静态资源,例如 JavaScript、CSS 和图像文件,而不在每个 Web 模块中复制它们?我还想以这样一种方式进行操作,即我可以继续从 Eclipse 运行 Web 应用程序,并对静态文件所做的更改自动提供给 Eclipse 的运行服务器。
最佳答案
试试这个:
1.
|-- pom.xml
|-- appsweb1 (war)
|-- appsweb2 (war)
|-- common (jar)
|-- src/main/java
|-- src/static_files
|-- pom.xml
- 在pom appsweb1、appsweb2中添加,或者在pom parent中添加,只在child中添加groupId、artifactId:
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.2</version>
<executions>
<execution>
<id>default-copy-resources</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<overwrite>false</overwrite>
<outputDirectory>${project.build.directory}/${project.artifactId}-${project.version}/WEB-INF/static_files</outputDirectory>
<resources>
<resource>
<directory>../common/src/main/static_files</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
关于 Maven 资源插件的文档:https://maven.apache.org/plugins/maven-resources-plugin/
关于java - 在 Maven 模块之间共享静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096888/