Java, IntelliJ, Maven Project - проблемы с импортом - PullRequest
1 голос
/ 24 октября 2019

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

В проекте maven в IntelliJ у меня есть следующая структура:

procedure
   e2e
      cucumber (same level as common)
         src
            test
               java
                  e2e
                     support
                        File: ScenarioState.java
                              package e2e.support

      common (same level as cucumber)
         src
            main
               java
                  common
                     testdata
                        File: Case.java
                              package common.testdata

Есть ли способ импортировать пакет e2e.support (где находится ScenarioState.java) в файл Case.java в пакете common.testdata ?

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

Ответы [ 2 ]

1 голос
/ 25 октября 2019

В pom.xml common может быть зависимость от cucumber с <type>test-jar</type>.

Однако это нарушает концепцию src / main дляконечный продукт и src / test для модульных тестов (не включены в продукт, отдельные классы тестирования).

(В src / test могут быть другие классы, поэтому, возможно, самый простойвместо этого было бы просто иметь src / test.)

Если ScenarioState не имеет ничего общего с src / main, его можно поместить в более низкоуровневую библиотеку cucumberbase в src / main. И сделайте зависимость от cucumber до cucumberbase с <scope>test</scope>. В <common> нормальная зависимость от cucumberbase.

Сохраните это разделение основного теста, так как в противном случае другие разработчики рискуют сумасшествием.

1 голос
/ 25 октября 2019

Если вы действительно хотите это сделать (и я настоятельно рекомендую либо оставить проект в покое, либо сначала реструктурировать его), определите дополнительный каталог с исходным кодом, как в

Как добавить дополнительный источниккаталог для maven для компиляции и включения в сборку jar?

Но будьте осторожны, что такой проект будет преследовать вас до конца времен.

...