java - 作为 maven 构建的一部分,如何从 pom.xml 中的依赖项中读取所有资源文件
问题描述
作为 maven 构建的一部分,如何从 pom.xml 中的依赖项中读取所有资源文件。问题陈述:我的 pom.xml 文件中有三个依赖项,每个依赖项在资源文件夹中都有 xml 文件列表,现在我想从所有依赖项中读取所有 xml,作为使用 java 构建的一部分并创建一个 sing 文件并保存在给定的路径中。
Example : pom.xml file.
```<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>merge</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.test</groupId>
<artifactId>first</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.test</groupId>
<artifactId>second</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.test</groupId>
<artifactId>three</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>```
Resource file in dependencies :
In "first" dependency resources.
/src/main/resources/test/first-1.xml
/src/main/resources/test/first-2.xml
/src/main/resources/test/first-3.xml
In "second" dependency resources.
/src/main/resources/test/second-1.xml
/src/main/resources/test/second-2.xml
In "three" dependency resources.
/src/main/resources/test/three-1.xml
/src/main/resources/test/three-2.xml
Expected Output:
It should combine all above xml files and create merge-all.xml file in "merge" jar.
有一个 root.xml 文件,然后复制其他 xml 文件的内容并生成一个新的 xml 文件名。例如 :
- root.xml : 第一个 jar
<cache-config
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config/1.2/coherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name>local-cache</cache-name>
<scheme-name>local-scheme</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<local-scheme>
<scheme-name>local-scheme</scheme-name>
<eviction-policy>LRU</eviction-policy>
<high-units>10</high-units>
<expiry-delay>5s</expiry-delay>
</local-scheme>
</caching-schemes>
</cache-config> ```
2) one.xml : second jar
<?xml version="1.0"?>
<cache-config
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config/1.2/coherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name>one-cache</cache-name>
<scheme-name>local-scheme</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
</caching-schemes>
</cache-config>
out.xml : the final generated out put.
<?xml version="1.0"?>
<cache-config
xmlns="http://xmlns.oracle.com/coherence/coherence-cache-config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-cache-config/1.2/coherence-cache-config.xsd">
<caching-scheme-mapping>
<cache-mapping>
<cache-name>local-cache</cache-name>
<scheme-name>local-scheme</scheme-name>
</cache-mapping>
<cache-mapping>
<cache-name>one-cache</cache-name>
<scheme-name>local-scheme</scheme-name>
</cache-mapping>
</caching-scheme-mapping>
<caching-schemes>
<local-scheme>
<scheme-name>local-scheme</scheme-name>
<eviction-policy>LRU</eviction-policy>
<high-units>10</high-units>
<expiry-delay>5s</expiry-delay>
</local-scheme>
</caching-schemes>
</cache-config>```
解决方案
推荐阅读
- git - 在托管 git 子模块的 docker 中使用 Yarn
- google-sheets - Google 电子表格“Countunique”返回 1 或 0
- html - 为什么 1px 在视网膜显示屏上看起来更大?
- ruby-on-rails - 在方法派生属性的 sum 函数中将 nil 视为零(Rails 4.2)
- c - 长双1.#QNAN
- android - 错误的视图绑定:与属性 android:visibility 不兼容
- android - Google Fit Android SDK - 获取用户活动列表以及时间和相关值
- javascript - 如何通过php中的ajax调用检查文件是否为空?
- selenium - 使用激活扩展自动执行 Selenium
- javascript - 普通数组到多维数组