1

在我的 tycho 测试项目中,我有一个可选的传递依赖项,我需要排除它才能使测试执行工作。这种传递依赖是同一个反应堆构建的一部分。

我试过的:

<build>
    <plugins>
        <plugin>
                    <groupId>org.eclipse.tycho</groupId>
                    <artifactId>tycho-surefire-plugin</artifactId>
                    <version>${tycho-version}</version>
                    <configuration>
                        <dependencies>
                            <plugin>
                               <groupId>org.eclipse.tycho</groupId>
                               <artifactId>target-platform-configuration</artifactId>
                               <version>${tycho-version}</version>
                               <configuration>
                                  <filters>
                                     <filter>
                                        <type>eclipse-plugin</type>
                                        <id>my.transitive.dependency</id>
                                        <removeAll />
                                     </filter>
                                  </filters>
                               </configuration>
                            </plugin>
                        </dependencies>
            </configuration>
        </plugin>
    </plugins>
  </build>

但这似乎在语法上不正确:

[错误] 无法在项目 com.conti.xcit.generation.tests 上执行目标 org.eclipse.tycho:tycho-surefire-plugin:1.1.0:test (default-test):无法解析 mojo org.eclipse 的配置.tycho:tycho-surefire-plugin:1.1.0:test for parameter configuration: Cannot find 'configuration' in class org.apache.maven.model.Dependency -> [Help 1]

我如何实现这种排除?

4

2 回答 2

0

您可以查看以下链接。

https://www.eclipse.org/tycho/sitedocs/tycho-surefire/tycho-surefire-plugin/test-mojo.html#excludes

您必须使用排除选项。

<plugin>
  <groupId>org.eclipse.tycho</groupId>
  <artifactId>tycho-surefire-plugin</artifactId>
  <configuration>
    <excludes>
      <exclude>**/Test*.class</exclude> 
    </excludes>
  </configuration>
</plugin>
于 2019-09-16T08:47:22.727 回答
0

它需要从目标中过滤。它适用于来自构建反应器的外部依赖项和依赖项。

            <plugin>
                <groupId>org.eclipse.tycho</groupId>
                <artifactId>target-platform-configuration</artifactId>
                <configuration>
                    <dependency-resolution>
                        <optionalDependencies>ignore</optionalDependencies>
                    </dependency-resolution>
                    <filters>
                        <filter>
                            <type>eclipse-plugin</type>
                            <id>myExternalOptionalDependencyArtifactId</id>
                            <removeAll />
                        </filter>
                        <filter>
                            <type>eclipse-plugin</type>
                            <id>myOptionalReactorDependencyArtifactId</id>
                            <removeAll />
                        </filter>
                    </filters>
                </configuration>
            </plugin>
于 2020-05-14T15:50:52.877 回答