java - 在 Maven 模块之间共享静态资源

标签 java eclipse maven war static-files

我有一个 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
  1. 在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/

相关文章:

Maven部署到相对目录路径

java - 如何从 Portlet 类中获取 Liferay 站点名称?

Java面板界面

c - 如何设置 Eclipse gcc 编译器忽略特定错误或从错误更改为警告

java - Eclipse 中 Maven 项目的源文件夹

java - 确定偏移量是否在行号之间?

maven - 防止 Jenkins 构建(从而重新部署)已发布版本的 Maven 项目

java - 从 repo 构建可部署的 maven 代码的常规工作流程

java - ActionListener编译错误-;预期

java - 计算 epsilon 闭包的最快方法是什么?