Почему tycho-surefire-plugin:test рассматривает Bundle-ClassPath вместо bin.include?
В моем проекте плагина затмения. У меня есть специальный jar, который мне нужен, чтобы он был виден в процессе сборки, особенно на этапе тестирования, однако мне не нужно, чтобы он был виден во время выполнения плагина eclipse. Я обнаружил, что tycho-surefire-plugin использует файлы jar, которые существуют в Bundle-ClassPath файла MANIFEST.MF вместо bin.include для build.properties. Есть ли способ заставить tycho-surefire-plugin получить свой путь к классу из build.properties вместо MANIFEST.MF? как я вижу, это нормальная разница между двумя файлами.
Мой фрагмент проекта теста выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.myproject</groupId>
<artifactId>projectparent</artifactId>
<version>1.0.0-SNAPSHOT</version>
<relativePath>../../../../projectparent/pom.xml</relativePath>
</parent>
<artifactId>com.myproject.projecttest</artifactId>
<packaging>eclipse-test-plugin</packaging>
<name>${project.artifactId}</name>
<description>
Tests for my project
</description>
<properties>
<maven.site.skip>true</maven.site.skip>
<maven.site.deploy.skip>true</maven.site.deploy.skip>
</properties>
</project>
1 ответ
Если я правильно понял ваш вопрос:
- у вас есть некоторые зависимости, которые вам нужно использовать только на этапе тестирования, но не включать их в ваш продукт.
для этого вы должны использовать плагин target-platform-configuration для теста, а затем указать extraRequirements
включить в свой тест только зависимости.
Пример target-platform-configuration:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<environments>
<environment>
<os>win32</os>
<ws>win32</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86</arch>
</environment>
<environment>
<os>linux</os>
<ws>gtk</ws>
<arch>x86_64</arch>
</environment>
</environments>
<dependency-resolution>
<optionalDependencies>ignore</optionalDependencies>
<extraRequirements>
<requirement>
<type>eclipse-plugin</type>
<id>org.eclipse.ui</id>
<versionRange>0.0.0</versionRange>
</requirement>
<requirement>
<type>eclipse-plugin</type>
<id>org.eclipse.ui.views</id>
<versionRange>0.0.0</versionRange>
</requirement>
<requirement>
.....
</requirement>
</extraRequirements>
</dependency-resolution>
</configuration>
</plugin>
включите это в свой тестовый пом.
надеюсь это поможет.