Spring-boot Test для загрузки внешних jar-файлов (эквивалент loader.path) - PullRequest
0 голосов
/ 12 ноября 2018

У нас есть приложение, которое во время выполнения зависит от внешних jar-файлов (например, задания Talend, выполняющиеся в Spring-boot). Теперь мы можем запустить его из Spring-Boot с помощью аргумента -Dloader.path. Однако мы не можем запустить интеграционное тестирование с использованием внешней папки lib (т.е. запустить задания Talend из Spring-Boot Test). Возможно ли иметь подобную опцию для загрузки внешних заданий для интеграционных тестов с использованием теста SpringBoot?

1 Ответ

0 голосов
/ 21 ноября 2018

Я получил это отсортировано.

Intellij -> Выбрать модуль -> Открыть настройку модуля -> Зависимость -> Добавить зависимость -> выбрать внешний сосуд -> Область только для проверки.

Таким образом, он отлично работает для тестового примера и в то же время не используется в реальном основном коде.

Где хранить банку?

Учитывая, что он будет использоваться в тестовых случаях, я бы предложил зафиксировать jar в src / test / lib и выбрать этот путь при добавлении зависимости.

Intellij создает файл .iml (в котором есть список зависимостей), если вы фиксируете то же самое в своем репо, то другой член команды может легко использовать без дальнейшей настройки.

Теперь остается вопрос для среды enux Linux или CIT. Я думаю, что мы могли бы добавить этот jar через переменную CLASSPATH env и затем запускать любые задания CIT.

Смесь раствора, но затем он работает, как и ожидалось.

Еще одно решение: Установите внешний jar в локальный репозиторий и добавьте зависимость в pom.xml с тестовой областью. Это простой вариант.

Установка банки в локальный репозиторий:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>3.0.0-M1</version>
    <executions>
        <execution>
            <id>install-jar</id>
            <phase>initialize</phase>
            <goals>
                <goal>install-file</goal>
            </goals>
            <configuration>
                <file>${project.basedir}/src/test/lib/somejar-1.0.jar</file>
                <groupId>com.beta.gamma</groupId>
                <artifactId>somejar</artifactId>
                <version>1.0</version>
                <packaging>jar</packaging>
            </configuration>
        </execution>
    <executions>
</plugin>

Теперь то же самое можно добавить в качестве зависимости, как и другую зависимость. Это будет работать в средах.

...