Меню

Как подключить jar к проекту netbeans

Подключение файла в JAR через Netbeans

Пользуюсь средой разработки NetBeans. Собираю с помощью Ant.

Проблема заключается вот в чем: Например у меня есть какой-то проект с библиотеками в папке lib и некоторыми файлами в папке src. Объекты создаваемые в этом проекте используют данные библиотеки и файлы. Далее если я собираю данный проект в jar и кладу в библиотеку другого проекта, а потом использую объекты классов из данного jar то выпадает ислючение, что не хватает библиотек, либо файла по данному пути не существует. Соответственно, если добавить данные библиотеки и файлы в новый проект, то все работает. Но в jar они есть. Как сделать так чтобы объекты классов создаваемых из jar использовали данные ресурсы из своего jar?

Вот абстрактный пример: Проект «А» из которого мы собираем jar и котором лежит файл hello.txt

Проект «B» в который в библиотеку мы кладем данный jar

Соответственно если во второй проект положить файл hello.txt, то получим true, но он уже лежит в первом проекте, и мне надо, чтобы он брал его именно оттуда.

2 ответа 2

Вы обращаетесь к файлу по относительному пути:

т.е. Вы ссылаетесь на файл, который лежит в папке src\inner\file относительно папки, в которой запущено приложение, а не к файлу, который запакован в JAR.

Когда Вы запускаете первый проект из Netbeans, он устанавливает текущую папку в корневой каталог проекта и код находит файл в папке исходников. Если Вы вытащите собранный JAR, перенесете его в отдельную папку и запустите его вручную там, то произойдет ошибка, т.к. папки src уже не будет. По той же причине ошибка возникает при запуске из второго проекта (файла нет в исходниках).

Возможные решения:

Вынести файл из проектов вообще и обращаться к нему по абсолютному пути ( c:\\Projects. \hello.txt ). В этом случае добавлять файл в JAR не нужно. При переносе скажем, на другую машину, файл потребуется носить отдельно, но так он будет доступен всем проектам.

Если файл находится в пакете inner.file то можно обращаться к запакованному файлу как к ресурсу. Например, вот так можно вывести содержимое файла:

Здесь обращение идет именно к файлу, запакованному в JAR и, соответственно, файл будет доступен при использовании из других проектов.

Читайте также:  Как подключить сетевое подключение на айфоне

Дополнение по библиотекам:

Посмотрите также на системы управления зависимостями: например, Maven или Ivy. Они существенно упрощают работу с библиотеками при сборке.

Можно также собрать inner таким образом, чтобы в одном JAR содержались все необходимые библиотеки.

Источник

Как включить внешний jar в проект Netbeans

поэтому, если я перемещу файл jar на рабочий стол и оставлю

12 ответов

Если вы скопируете свои банки в каталог исходного кода, они будут в вашем последнем банке. Тем не менее, я не уверен, если это будет работать 100% времени.

есть отличный пост в java-форум это гласит следующее:

Я решил это, создав только один файл jar со всеми библиотеками внутри, добавив следующее в мою сборку.xml-файл в NetBeans:

это создает файл jar (Combined-dist.jar), который представляет собой комбинацию dist jar и указанных библиотечных банок (в данном случае commons-io-1.4.jar, ninja-utils-3.2.jar и единорог-1.0.сосуд.) Вы должны обязательно указать свой основной пакет класса для нового файла jar, иначе он не будет запущен при попытке открыть его.

это очень легко упаковать каждую зависимую библиотеку (*.jar) в один единственный myProject.сосуд.

просто выполните следующие действия, и Вы, наконец, упаковать каждую зависимую библиотеку в одну банку. Если вы используете NetBeans, то вы можете точно следовать или вам нужно найти свой построить.в XML файл в файлах проекта.

выполните следующие действия, чтобы изменить построить.в XML

1) Нажмите на кнопку Files tab на левой стороне группа проекта в NetBeans.

2) Дважды щелкните на элементе build.xml файл и добавьте эти строки в него непосредственно перед

3) Изменение value во второй строке кода в соответствии с вашим название проекта

4) сохраните его и щелкните правой кнопкой мыши на построить.в XML и выбрать Выполнить Элемент а то Другие Цели и, наконец, нажмите на кнопку пакет-для-магазина

5) и здесь вы сделали. Теперь вы можете пойти и проверить как dist папка будет store папка, которая будет содержать ваш окончательный полный jar, включая все ваши зависимые библиотеки. Теперь, когда вы хотите изменить / добавить больше библиотек или около того, просто выполните шаг 4.

изображение для шага 4

вы можете использовать Apache Ant с версии 1.7 для сборки JAR с требуемыми библиотеками только в одном файле. У вас может быть файл конфигурации следующим образом:

Читайте также:  Как подключить opus к pfpx

в Netbeans поместите XML-файл в проект и запустите его с помощью контекстного меню.

Если вы собираетесь распространять свое приложение на другой компьютер

Если хотите запустить приложение из любого места на вашем ПК

или вы можете просто использовать Maven. Идет обсуждение распространение приложения со всеми зависимостями (библиотеками):Java: как создавать автономные дистрибутивы проектов на основе Maven?.

скопируйте этот файл jar в:

вы должны иметь возможность использовать его в Netbeans и в ручном импорте, как и стандартный импорт.

Я нашел, возможно, самое простое решение этой проблемы здесь. Вам просто нужно скопировать следующий фрагмент кода в конце build.xml файл в папке проекта.

перейти к сборке.xml в корне вашего проекта и добавьте код прямо перед

теперь измените значение первого поля propertiy как прокомментировано и сохраните изменения.

Теперь каждый раз, когда вы очищаете и строите свой проект, полная банка с зависимостями будет генерироваться в папке project dist

вот что сработало для меня:

распакуйте эти 2 банки в папку (классы java) с помощью 7-Zip без каких-либо мета-файлов. Распакуйте jar проекта в ту же папку, включая мета-файл.

решение user1016588 работает для меня. Есть одна опечатка: эта строка должна быть zipfileset src= » dist/lib / commons-io-1.4.jar «excludes=» META-INF/*»

выполните следующие:- 1. Щелкните правой кнопкой мыши проект, открытый в Редакторе netbeans 2. выбрать Properties 3. выберите библиотеки 4. добавить банку 5. нажмите кнопку ok

вы также можете использовать это (когда библиотеки не находятся в «dist / lib»), протестировано с помощью NetBeans и ant-contrib:

Источник

Java, как добавить файлы библиотеки в netbeans?

Я новичок в IDE Netbeans и Java. У меня есть проект java, который показывает много ошибок компиляции:

может кто-нибудь помочь мне с этими ошибками, Как добавить файлы библиотеки в IDE Netbeans?

3 ответов

быстрое решение в NetBeans 6.8.

вы также можете увидеть мои короткие Видео How-To.

как импортировать общую библиотеку в netbeans.

оцените сообщение об ошибке в NetBeans:

NoClassDeffFoundError означает где-то под капотом в используемом коде метод, называемый другим методом, который вызвал класс, который не может быть найден. Так что это означает, что ваш код сделал это: MyFoobarClass foobar = new MyFoobarClass() и компилятор запутан, потому что нигде не определен этот MyFoobarClass. Вот почему вы получаете ошибка.

Читайте также:  Как самому подключить принтер к компьютеру

чтобы узнать, что делать дальше, вы должны внимательно посмотреть на сообщение об ошибке. Слова «org/apache / commons» позволяют вам знать, что это кодовая база, которая предоставляет необходимые инструменты. У вас есть выбор: либо вы можете импортировать все в Apache commons, либо вы можете импортировать только класс LogFactory, либо вы можете сделать что-то между ними. Например, просто получите бит ведения журнала Apache commons.

вы захотите загрузить commons-logging-1.1.3-bin.zip или что-то в этом роде. Прочтите, что говорит имя. Этот.zip означает, что это сжатый файл. commons-logging означает, что этот должен содержать желаемый класс LogFactory. средние 1.1.3 означает, что это версия. если вы компилируете для старой версии, вам нужно будет сопоставить их, иначе вы рискуете, что код не компилируется из-за изменений, вызванных модернизация.

двоичные файлы не включают исходный код, поэтому вы не сможете детализировать и видеть, что происходит при отладке. Как программисты, вы должны быть загрузка «источника» Apache commons и компиляция из источника, создание банок самостоятельно и импорт их для опыта. Вы должны быть достаточно умны, чтобы понять и исправить исходный код, который вы импортируете. Эти древние версии Apache commons могли быть скомпилированы под более старой версией Java, поэтому, если вы слишком далеко назад, они могут даже не компилироваться, если вы не компилируете их под древней версией java.

В Netbeans 8.2

1. Загрузите двоичные файлы из веб-источника. The Apache Commos в: [http://commons.apache.org/components.html][1] В этом случае вы должны выбрать «Logging» в компоненты меню и перейдите по ссылке для загрузки в выпускает часть. Прямой URL: [http://commons.apache.org/proper/commons-logging/download_logging.cgi][2] Для меня правильно скачать файл: commons-logging-1.2-bin.zip С файлы.

2. Распакуйте загруженный контент. теперь, вы можете увидеть несколько файлы jar внутри каталога, созданного из zip-файла.

3. Добавить библиотеку в проект. щелкните правой кнопкой мыши проект, выберите свойства и нажмите в библиотеках (в левой части). Нажмите кнопку «Добавить банку / папку». Пойти на предварительно распакуйте содержимое и выберите нужный файл jar. Clic в «Open»и нажмите»Ok». Библиотека загружена!

Источник