java - 在 Maven 构建的 EAR 中绑定文件
问题描述
在构建 MainProject 时,我需要将文件从位置 \MainProject\src\non-packaged-resources 复制到 \MainProject\sub-project2\sub-project2-web\src\main\resources 位置。下面是我的 sub-project2-web 的 pom 文件的构建部分,但在构建时不会复制该文件。
<build>
<finalName>sub-project2-web</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceExcludes>**/.copyarea.db</warSourceExcludes>
<packagingExcludes>**/.copyarea.db</packagingExcludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>/src/main/resources</outputDirectory>
<resources>
<resource>
<directory>/src/non-packaged-resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
观察构建日志时,它会跳过正在复制的文件,并出现以下错误
skip non existing resourceDirectory
但是 Maven 构建成功了。目标是在构建 maven 项目时将存在于 \MainProject\src\non-packaged-resources 中的文件绑定到所有耳朵(sub-project1.ear,sub-project2.ear)。首先,我试图仅在 sub-project2-web 中对此进行测试。请就如何根据此要求提供正确路径提出建议。我正在使用 maven 2.2.1 版本(项目建立在此之上。)
解决方案
参考您的项目基目录定义路径,如下所示。
<outputDirectory>${project.basedir}/sub-project2/sub-project2-web/src/main/resources</outputDirectory>
<directory>${project.basedir}/src/non-packaged-resources</directory>
然后将其添加pom.xml
到maven-resources-plugin
.
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>copy-resources</id>
<!-- here the phase you need -->
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.basedir}/sub-project2/sub-project2-web/src/main/resources</outputDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/non-packaged-resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
推荐阅读
- sql - 错误 1022:无法写入;表 '#sql-209c_8' SQL 语句中的重复键:
- php - 选项数据未在数据库中更新
- macos - 在本地无法在本地访问的 mac os 上设置 presto 服务器
- apache-beam - 关于 Apache Beam 窗口化策略的建议
- android - 在我的 android 应用程序中 Font Acme 在 xml 中完美显示,但在我运行应用程序时无法正常工作
- input - Svelte - 绑定输入
- python-3.x - 导入张量流的问题
- scala - 如何在 spark-scala 数据框中获取当前本地时间或系统时间?
- apache-spark - 避免排队火花微批处理
- mysql - 用数据库中的名称替换id