Maven: возможно ли включить тестовую флягу в область компиляции другого проекта

1

Предположим, у меня есть два проекта A и B, проект имеет только тестовые примеры. Project B зависит от A и будет использовать классы в для компиляции исходного кода в src/main/java. Может ли это сделать? Как?

Я знаю, что это странно, но это ситуация в моей среде.

Заранее спасибо.

  • 0
    Зачем вам занятия в тестовом проекте?
  • 0
    Вы можете достичь этого в maven, отметив jar-файл с проектом A как зависимость компиляции.
Показать ещё 3 комментария
Теги:
maven
junit

3 ответа

0
Лучший ответ

Следуйте руководству по использованию прилагаемых тестов:

Убедитесь, что вы создали те тестовые банки в проекте A

<project>
  <build>
    <plugins>
     <plugin>
       <groupId>org.apache.maven.plugins</groupId>
       <artifactId>maven-jar-plugin</artifactId>
       <version>2.2</version>
       <executions>
         <execution>
           <goals>
             <goal>test-jar</goal>
           </goals>
         </execution>
       </executions>
     </plugin>
    </plugins>
  </build>
</project>

И затем используйте их в проекте B

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>com.myco.app</groupId>
      <artifactId>foo</artifactId>
      <version>1.0-SNAPSHOT</version>
      <type>test-jar</type>
      <scope>compile</scope>
    </dependency>
  </dependencies>
  ...
</project>
  • 0
    Спасибо за ответ, но, боюсь, вы не поняли, о чем я. Я хочу использовать тестовую флягу в проекте B для целей компиляции . т.е. использовать его в src / main / java, а не в src / test / java
  • 0
    Механизм в основном одинаков в обоих случаях. Я обновил область для компиляции в зависимости от проекта B.
Показать ещё 1 комментарий
0

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

Если вы решите, что это правильная структура проекта, это просто зависимость в maven. Если классы в проекте A используются только для тестирования в проекте B, то вы можете задать область зависимостей для test, а также.

0

Создайте тестовую банку следующим образом:

<project>
  ...
  <build>
    <plugins>
      ...
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.5</version>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

Использование тестового артефакта:

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>groupId</groupId>
      <artifactId>artifactId</artifactId>
      <type>test-jar</type>
      <version>version</version>
    </dependency>
  </dependencies>
  ...
</project>
  • 0
    Спасибо за ответ, но я хочу использовать тестовый jar в проекте B для компиляции исходного кода (не для компиляции тестового примера). т.е. использовать его в src / main / java, а не в src / test / java
  • 1
    Если я правильно понимаю, просто используйте это как зависимость. Что я не понимаю, так это: project B for source compile purpose... ?
Показать ещё 1 комментарий

Ещё вопросы

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