我的maven项目的pom.xml
声明了两个依赖关系。第一个从属类型为xml
,分类器为features
,第二个为标准jar
。目标是使用maven-dependency-plugin
复制目标/依赖文件夹中的所有直接依赖(不包括传递)。
可以进行哪些配置更改以将以下依赖项复制到target / dependency文件夹?
1)xml类型相关性内列出的所有直接相关性(不包括传递性)
2)pom.xml
的其他直接依赖项(不包括传递性)
这里,XML依赖关系是Karaf Feature XML文件,其中包含如下所示的maven依赖关系声明。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="employee-data-feature">
<feature name="employee-data-feature" description="employee-data-feature" version="1.0.0.SNAPSHOT">
<bundle>mvn:com.example.osgi/employee-data/1.0-SNAPSHOT</bundle>
</feature>
</features>
我曾尝试将配置标签设置为false,这会导致复制所有依赖项,包括传递性依赖项。
<groupId>com.example.osgi</groupId>
<artifactId>employee-service</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>bundle</packaging>
<dependencies>
<dependency>
<groupId>com.example.osgi</groupId>
<artifactId>employee-data-feature</artifactId>
<version>1.0-SNAPSHOT</version>
<classifier>features</classifier>
<type>xml</type>
</dependency>
<dependency>
<groupId>com.example.osgi</groupId>
<artifactId>salary-data</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeScope>runtime</includeScope>
<prependGroupId>true</prependGroupId>
<excludeTransitive>false</excludeTransitive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>