Как создать банку для тестового класса Junit

1

Я следую структуре структуры Maven. В моем проекте мы имеем класс, как PayloadProcessorTest.java и он имеет некоторые зависимости

Я хочу создать файл jar для PayloadProcessorTest с зависимостями

Может ли кто-нибудь помочь мне создать банку с зависимостями

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.2-beta-2</version>
  <executions>
    <execution>
      <id>create-test-dependency</id>
      <phase>process-test-classes</phase>
      <goals>
        <goal>single</goal>
      </goals>
      <configuration>
        <finalName>classloader-test-deps</finalName>
        <attach>false</attach>
        <descriptors>
          <descriptor>src/main/assembly/test-assembly.xml</descriptor>
        </descriptors>
      </configuration>
    </execution>
  </executions>
</plugin>

Это содержимое test-assembly.xml

<assembly>
  <id>test-classloader</id>
  <formats>
    <format>jar</format>
  </formats>
  <includeBaseDirectory>false</includeBaseDirectory>
  <fileSets>
    <fileSet>
      <directory>${project.build.testOutputDirectory}</directory>
      <outputDirectory>/</outputDirectory>
      <!--modify/add include to match your package(s) -->
      <includes>
        <include>com/test/**</include>
      </includes>
    </fileSet>
  </fileSets>
</assembly>
Теги:
maven

1 ответ

1

Используйте этот плагин Maven для плагина Maven. Как сказано в документации: "Этот плагин предоставляет возможность упаковывать артефакт в uber-jar"

 <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.2</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <createDependencyReducedPom>false</createDependencyReducedPom>
                        <filters>
                            <filter>
                                <artifact>*:*</artifact>
                                <excludes>
                                    <exclude>META-INF/*.SF</exclude>
                                    <exclude>META-INF/*.DSA</exclude>
                                    <exclude>META-INF/*.RSA</exclude>
                                    <exclude>.settings/**</exclude>
                                    <exclude>*.classpath</exclude>
                                    <exclude>*.project</exclude>
                                    <exclude>*.txt</exclude>
                                </excludes>
                            </filter>
                        </filters>
                    </configuration>
                </execution>
            </executions>
        </plugin>
  • 0
    Спасибо за ответ. Мой класс PayloadProcessorTest.java имеет некоторые зависимости. Это означает, что мои методы класса вызывают некоторые другие методы класса и те классы, которые связаны с базой данных с помощью конфигураций файла свойств. Мне нужны все эти классы и иждивенцы в банку. Я использовал плагин maven-assembly, но он создал jar только для PayloadProcessorTest.class. Я обновляю свой плагин выше. можете ли вы сказать мне, как я могу получить банку для PayloadProcessorTest со всеми классами dipendent
  • 0
    Вместо сборки вы использовали этот плагин и делали "пакет mvn"? Делая это, вы получаете банку с зависимостями

Ещё вопросы

Сообщество Overcoder
Наверх
Меню