#java #eclipse #maven #import #package
Вопрос:
У меня есть проект Java Maven в Eclipse (2021-09 (4.21.0)), и я пытаюсь импортировать класс, вызванный BaseTest.java
в другой класс ( ElementFetch.java
) в рамках того же проекта, но в отдельном пакете. Если вы посмотрите на скриншот ниже, вы увидите мое import src.test.java.youtubeframework.BaseTest;
заявление и заметите индикатор ошибки в строке 5. Независимо от путей, которые я указываю:
import youtubeframework.src.test.java.youtubeframework.BaseTest; import src.test.java.youtubeframework.BaseTest; import test.java.youtubeframework.BaseTest; import java.youtubeframework.BaseTest; import youtubeframework.BaseTest; import BaseTest;
импорт не будет работать. Всегда существует ошибка, из-за которой импорт не работает.
Кто-нибудь может, пожалуйста, сказать мне, что я делаю не так?
Ответ №1:
Ваша первая проблема заключается в том, что вы используете исходный путь для класса, как если бы это было имя пакета. Правильное имя пакета должно быть youtubeframework
. Так что вы должны (теоретически) использовать import youtubeframework.BaseTest
.
Но вторая проблема заключается в том, что ваш «основной» код Java не может зависеть от вашего «тестового» кода Java. Вот почему import youtubeframework.BaseTest
это не работает.
В представлении Maven о мире дерево «тест» предназначено для кода, который используется только для тестирования материалов в «основном» дереве:
- «тестовые» классы могут зависеть от «основных» классов.
- «основные» классы не могут зависеть от «тестовых» классов.
Если у вас есть «тестовый» класс, который используется чем-то в «основном» дереве, то на самом деле он является частью вашего приложения / библиотеки / чего угодно, и он должен быть в «основном» дереве.
Комментарии:
1. БИНГО! Это решило проблему! Я добавил новый пакет под названием «база» в src/main/java, и теперь импорт работает с простым: база импорта. BaseTest Спасибо вам!!!