Я добавил зависимость «graphstream» к моему файлу pom.xml в проекте maven, например:
<dependency>
<artifactId>gs-core</artifactId>
<groupId>org.graphstream</groupId>
<version>2.0</version>
</dependency>
И затем я попытался импортировать «графический поток» в свой java-файл:
import org.graphstream.*;
Но когда я бегу mvn install
Я получаю следующую ошибку
пакет org.graphstream не существует
Что я сделал не так?
Проверил исходный код: пакета действительно нет org.graphstream
. Есть папка org/graphstream
, которая содержит другие папки. Вы можете использовать import org.graphstream.graph.*;
, так как это настоящий пакет. Возможно, вы захотите рекурсивно импортировать все, но Java работает иначе. Привожу вам цитату из этот разговор:
There aren't really "sub-packages." The JLS actually uses that term, but I don't know why. There's no real hierarchy, other than the one on the filesystem and the logical one implied by the names. As far as Java is concerned, the packages have no relation to each other.
Вот мой фиктивный код, как должен выглядеть импорт в вашем проекте:
import org.graphstream.graph.*;
public class Test {
public static void main(String[] args) {
System.out.printf("Import works: %s", Graph.class);
}
}
Я надеюсь, что это отвечает на ваш вопрос. Я также создал гитхаб репозиторий в своей песочнице. Просто проверьте код и запустите mvn compile exec:java -Dexec.mainClass = "org.test.Test"
в корне проекта. Если это не работает, пожалуйста, покажите мне вывод.
@KfirEttinger, это странно. Я создал репозиторий Github со своим кодом, который отлично работает для меня (я обновил ответ, вы найдете ссылку здесь). Я тестировал его с Java 15 и Maven 3.8.3. Не могли бы вы проверить код, пожалуйста?
действительно странно. Я клонировал ваш проект, и он отлично работает. Я воспользуюсь вашим кодом, чтобы попытаться понять, что пошло не так с моим проектом. большое спасибо!
хорошая новость заключается в том, что, по крайней мере, это не что-то глобальное в вашей системе, а просто чего-то не хватает в вашем коде, поэтому вы можете медленно сравнивать, выяснять, в чем проблема :) Буду признателен, если вы отметите мой ответ как принятый :) Спасибо.
Спасибо! это помогло мне частично. теперь «установка mvn» прошла успешно, но я не думаю, что импорт работает. Я пытался запустить ваш фиктивный код, и я получаю
NoClassDefFoundError
, вызванныйClassNotFoundException
для класса Graph.