Ошибка компиляции Maven с использованием команды mvn clean install - PullRequest
0 голосов
/ 16 июня 2020

Привет, у меня следующая структура проекта, и когда я запускаю mvn clean install, я получаю ошибку компиляции:

Ниже приведена моя структура проекта maven:

src/main/java(Folder)
 com.test.io(Package)
   BuildDoc.java

src/IT/java(Folder)
 com.io.mytest(Package)
  OpenAmazonPage.java


public class OpenAmazonPage{
public static WebDriver driver;
 void OpenPage(){
 driver=new ChromeDriver;
}


import com.io.mytest.OpenAmazonPage;
class BuildDoc{
 void test(){
    GenericData.take(OpenAmazonPage.driver);
}

Затем с помощью * Команда 1007 * Я получаю следующую ошибку:

package com.io.mytest.OpenAmazonPage does not exist. 

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

pom. xml :

<build>
  <plugins>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <id>add-integration-test-source</id>
            <phase>generate-test-sources</phase>
            <goals>
                <goal>add-test-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>src/it/java</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
             <artifactId>maven-failsafe-plugin</artifactId>
               <version>2.15</version>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>verify</id>
                        <goals>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
     </plugin>
  </plugins>

Ответы [ 2 ]

0 голосов
/ 16 июня 2020

по умолчанию все пакеты + классы src/main/java будут добавлены в ваш путь к классам. Чтобы добавить src/IT/java, вам может потребоваться добавить его в качестве исходной папки для вашего проекта, используя настройки вашего проекта.

ЕСЛИ это неосуществимое решение, переместите класс com.io.mytest.OpenAmazonPage.java со всеми папками под src/main/java

0 голосов
/ 16 июня 2020

Правильно ли я прочитал, у вас есть:

src/main/java/com/test/io/BuildDoc.java

пытается включить:

src / IT / java / com / io / mytest / OpenAmazonPage. java

Если у вас нет очень и очень странного pom. xml, это не сработает.

См. Ожидаемую структуру папок для maven: https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

mvn install пройдёт go через фазы жизненного цикла Maven и построит и запустит тесты, а затем создаст и установит основное приложение.

Вы пытаетесь импортировать интеграцию test файл в свой основной артефакт Java. Это не может работать и никогда не должно выполняться. Вы используете свои основные Java артефакты в своих тестах , а не наоборот. Тесты являются не частью вашей окончательной сборки, они являются только частью вашей среды разработки.

По моему опыту, вам также потребуется дополнительная настройка для получения различных тестов, интеграционных тестов и основных папки. Часто есть только src / main / java и src / test / java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...