Как добавить содержимое src/test/java в созданную выходную банку maven

Я вижу много подобных вопросов. Но не в состоянии сделать эту работу.

До сих пор я пробовал testresources и build-helper-maven-plugin.

Также я читал в 1 теме, как написать свой плагин сборки, чтобы сделать что-то подобное.

Но публикую это снова, чтобы узнать, есть ли более чистые способы, о которых я не знаю.

Это существующий код, и я должен его исправить. Дело в том, что когда я открываю банку после успешной сборки, я не могу найти классы src/test/java внутри банки. У нас есть maven build-helper-maven-plugin и maven-jar-plugin. Но я не вижу в нем тестовых классов до сих пор.

<build>
        <plugins>
          <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>build-helper-maven-plugin</artifactId>
           <version>1.7</version>
           <executions>
             <execution>
               <id>add-source</id>
               <phase>generate-sources</phase>
               <goals>
                 <goal>add-source</goal>
               </goals>
               <configuration>
               <sources>
                    <source>src/test/java</source>
                </sources>
                </configuration>
             </execution>
           </executions>
          </plugin>
          <plugin>
           <artifactId>maven-jar-plugin</artifactId>
           <version>2.3.1</version>
           <executions>
             <execution>
               <phase>package</phase>
               <goals>
                 <goal>jar</goal>
               </goals>
               <configuration>
                 <classifier>test</classifier>
               </configuration>
             </execution>
           </executions>
         </plugin>
        </plugins>
    </build>

Я вижу сгенерированные классы в каталоге тестовых классов внутри целевой папки. Но не в банке

Я хочу, чтобы они были внутри банки, так как я завишу от этой банки в другом проекте. Другой проект не компилируется, потому что он импортирует этот тестовый класс внутри src/test/Java.

Я не могу создать новый проект только для этого случая, так как у меня нет такой свободы.


person juniorbansal    schedule 27.07.2015    source источник


Ответы (1)


Вы пробовали maven-dependency-plugin (вместо build-helper-maven-plugin) в сочетании с maven-jar-plugin ?

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.9</version><!--$NO-MVN-MAN-VER$-->
    <executions>
        <execution>
            <id>unpack</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>unpack</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>you-project-group-id</groupId>
                        <artifactId>you-project-artifact-id</artifactId>
                        <version>${project.version}</version>
                        <type>test-jar</type>
                        <overWrite>false</overWrite>
                        <outputDirectory>${project.build.directory}/classes</outputDirectory>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
</plugin>
person Matthias J. Sax    schedule 27.07.2015