Включить папку test-classes в jar-файл, созданный с помощью плагина maven - PullRequest
1 голос
/ 23 сентября 2019

Я написал некоторый общий код в виде проекта maven в составе пакета src / test / java.Мне нужно экспортировать этот код в виде JAR, чтобы его можно было повторно использовать в качестве зависимости в других проектах.Когда я создаю банку вручную, используя опцию Export jar в Eclipse, jar создается с целевым каталогом (и его содержимым).Это прекрасно работает, когда другие проекты используют этот jar как зависимость

Однако у jar, созданного с помощью плагина maven, нет целевой и других папок.Я попробовал следующие варианты, используя maven-jar-plugin, но безуспешно.

Option1:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.0.1</version>
                <configuration>
                **<archive>
                    <manifest>
                    <addClasspath>true</addClasspath>
                    <classpathPrefix>${project.basedir}/target/test-classes</classpathPrefix>
                    </manifest>
                  </archive>**
                </configuration>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Option2:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.1.2</version>
                <configuration>
                    **<outputDirectory>${project.basedir}/target/test-classes</outputDirectory>**
                </configuration>                                
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

Ниже приведен снимок сгенерированной банки.

Опция Eclipse:

enter image description here

Плагин Maven Test-Jar:

enter image description here

1 Ответ

0 голосов
/ 23 сентября 2019

Классы в src/test/java не предназначены для повторного использования в других банках.Они предназначены исключительно для запуска тестов во время сборки (этого конкретного jar-файла).Если вам нужны общие классы для тестирования в разных ситуациях, создайте новый jar с этими желаемыми классами (в src/main/java) и используйте его в своих проектах в качестве тестовой зависимости (<scope>test</scope>).

...