Maven - пакет graphstream не существует

Я добавил зависимость «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 не существует

Что я сделал не так?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
37
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проверил исходный код: пакета действительно нет 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" в корне проекта. Если это не работает, пожалуйста, покажите мне вывод.

Спасибо! это помогло мне частично. теперь «установка mvn» прошла успешно, но я не думаю, что импорт работает. Я пытался запустить ваш фиктивный код, и я получаю NoClassDefFoundError, вызванный ClassNotFoundException для класса Graph.

Kfir Ettinger 03.05.2022 14:47

@KfirEttinger, это странно. Я создал репозиторий Github со своим кодом, который отлично работает для меня (я обновил ответ, вы найдете ссылку здесь). Я тестировал его с Java 15 и Maven 3.8.3. Не могли бы вы проверить код, пожалуйста?

Andrej Istomin 03.05.2022 16:10

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

Kfir Ettinger 03.05.2022 18:10

хорошая новость заключается в том, что, по крайней мере, это не что-то глобальное в вашей системе, а просто чего-то не хватает в вашем коде, поэтому вы можете медленно сравнивать, выяснять, в чем проблема :) Буду признателен, если вы отметите мой ответ как принятый :) Спасибо.

Andrej Istomin 03.05.2022 18:19

Другие вопросы по теме