Я хотел бы ссылаться на класс Bag
в JAR-файле, но Eclipse сообщает мне, что Bag cannot be resolved to a type
. Я добавил JAR, в котором Bag
определен для пути к классу для проекта, но ошибка все еще существует. Что я делаю не так?Как ссылаться на класс во внешнем JAR в Eclipse?
ответ
Я думаю, вы не можете этого сделать, потому что класс Bag в algs4.jar находится внутри пакета по умолчанию. Перед J2SE 1.4, мы до сих пор не может импортировать классы из пакета по умолчанию, используя синтаксис вроде этого:
import Unfinished;
Но из J2SE 1.5, который больше не допускается. Поэтому, если мы хотим получить доступ к классу пакетов по умолчанию из упакованного класса, необходимо переместить класс пакета по умолчанию в собственный пакет. Читайте здесь более подробно объяснение:
How to access java-classes in the default-package?
Некоторые опции вы можете выбрать:
Доступ класса с помощью отражения или какой-либо другой косвенный метод. Но это немного сложно, примерно так:
Класс fooClass = Class.forName ("FooBar"); Метод fooMethod = fooClass.getMethod ("fooMethod", новый класс [] {String.class});
String fooReturned = fooMethod.invoke (fooClass.newInstance(), новая строка («Я сделал это»));
Если у вас есть исходный код библиотеки jar, вам необходимо поместить его в надлежащий пакет и снова обернуть его в качестве новой библиотеки jar.
Вам может понадобиться либо полностью определить класс Bag, или импортировать его.
Как в: 'import Bag;'. Он находится в пакете по умолчанию, так что это все, что вам нужно. –
@PaulHicks, 'import Bag;' не работает. Я получаю сообщение: «Импортная сумка не может быть решена». – gwg
- 1. java.lang.ClassNotFoundException для класса во внешнем JAR
- 2. Как ссылаться на swf-файл во внешнем каталоге в Wicket
- 3. Как ссылаться на .jar-файл в программе Java в Eclipse
- 4. класс вызова во внешнем классе
- 5. Класс существует во внешнем файле
- 6. Spring - @ Конфигурируемые классы во внешнем JAR
- 7. gradle - ссылка во внешнем файле jar
- 8. Как я могу ссылаться на jar из проекта eclipse?
- 9. Eclipse JAR во время выполнения
- 10. Сделать класс, определенный во внешнем блоке «C», способном ссылаться на метод
- 11. Отобразить вывод eclipse во внешнем окне
- 12. как ссылаться на библиотеку jar в Java
- 13. Android-класс jar-файла eclipse не найден во время выполнения
- 14. переменной на внешнем JAR не обновляется
- 15. Eclipse Jar-in-Jar не может найти joda.time класс
- 16. Композитные компоненты во внешнем JAR не распознаются в Netbeans
- 17. Нельзя ссылаться на jdbc.SQLServerDriver в Eclipse (ClassNotFoundException)
- 18. Как ссылаться на класс в ASP.NET
- 19. Как использовать интерфейсы, объявленные во внешнем JAR в приложении JSF, размещенном на локальном сервере TomCat
- 20. systemProperties во внешнем файле?
- 21. место javascript в html5 во внешнем файле
- 22. Как определить класс WP_QUERY во внешнем php-файле?
- 23. Как ссылаться на класс исключения в Python?
- 24. Как ссылаться на класс java в avro
- 25. Как ссылаться на класс в другом проекте?
- 26. Как ссылаться на переменном класс в Python
- 27. Как ссылаться на класс объектов в PHP
- 28. Eclipse: создать jar, содержащий один класс + зависимости
- 29. Не удается создать объект Entity Manager во внешнем файле Jar
- 30. Метод вызова во внешнем классе
@thewizard, спасибо. Этот ответ и другие объясняют, как то, что я пытаюсь сделать, неправильно, но я не вижу объяснения, что делать. Что такое пакет «не по умолчанию», и как я могу импортировать 'algs4.jar' и' stdlib.jar' как пакеты, отличные от стандартного? – gwg
обновите ответ для вас, пакет не по умолчанию означает, что другие пакеты в папке src. Если 2 библиотеки были с открытым исходным кодом, вы можете загрузить источники и настроить новый проект для обоих источников, а затем ссылаться на свой проект на эти два проекта. Надеюсь, это поможет, пожалуйста, отметьте мой ответ, если вы считаете, что это лучший ответ на ваши проблемы. Благодарю. –
@thewizard, спасибо за объяснение. Поскольку я пишу автономные классы для курсовой работы, я решил просто поместить 'WordNet' в пакет по умолчанию. Теперь я могу напрямую ссылаться на «Сумку». – gwg