Как импортировать библиотеку в java

от admin

Как импортировать библиотеку в java

Java Library is the collection of classes that are written by some other programmers that we can use in our code by downloading those classes. Java library allows you to read and modify bytecode generated by an application. Some of the popular bytecode libraries in the Java world are “javassist” and “Cglib Nodep.” Eclipse is an open-source community rather than the best open source IDE whose projects are focused on building an extensible development platform, runtimes, and application frameworks for building, deploying and managing software across the entire software lifecycle.

Note: Here most users do tend to forget to set a path after installing libraries, so we will be covering it in two halves where we will be covering

  • Installation of java libraries in first half
  • Configuring build path

A. INSTALLATION OF JAVA LIBRARIES

Follow are the sequential steps to be followed in order to install java libraries.

Step 1: Download and extract the library from its website

Step 2: You need to locate the jar file(s) for the library and where the API documentation is stored. Once you know where the files are located, you can add a user library to Eclipse.

Step 3: Open the “Preferences” window in Eclipse. Navigate to “Java » Build Path » User Libraries” then on the left-hand side click on the “New” button, enter the file name and then click on the OK button.

Step 4: After that, you need to click the “Add External JARs” button to add the jar file. Browse the jar file(s) required for the library and click the “Open” button.

Step 5: Go and select the “Javadoc location” entry and click the “Edit” button.

Step 6: Browse to the folder or directory containing the API documentation and click the “Validate” button.

Step 7: Click “OK” until you exit the “Preferences” window entirely.

Note: Once you have successfully added the user library, you need to add the user library to your project’s build path.

B. CONFIGURING BUILD PATH

Step 1: Right-click the project and select “Build Path » Add Libraries…”.

Step 2: Dialog the window that pops up, select “User Library” and click the “Next” button.

Step 3: Select the user libraries you want to add and click “Finish”.

Now you can see the library listed in your project directory underneath the default Java class files.

Note: You need to do this for every project that needs this library.

Using Package Members

The types that comprise a package are known as the package members.

To use a public package member from outside its package, you must do one of the following:

  • Refer to the member by its fully qualified name
  • Import the package member
  • Import the member's entire package

Each is appropriate for different situations, as explained in the sections that follow.

Referring to a Package Member by Its Qualified Name

So far, most of the examples in this tutorial have referred to types by their simple names, such as Rectangle and StackOfInts . You can use a package member's simple name if the code you are writing is in the same package as that member or if that member has been imported.

However, if you are trying to use a member from a different package and that package has not been imported, you must use the member's fully qualified name, which includes the package name. Here is the fully qualified name for the Rectangle class declared in the graphics package in the previous example.

You could use this qualified name to create an instance of graphics.Rectangle :

Qualified names are all right for infrequent use. When a name is used repetitively, however, typing the name repeatedly becomes tedious and the code becomes difficult to read. As an alternative, you can import the member or its package and then use its simple name.

Importing a Package Member

To import a specific member into the current file, put an import statement at the beginning of the file before any type definitions but after the package statement, if there is one. Here's how you would import the Rectangle class from the graphics package created in the previous section.

Now you can refer to the Rectangle class by its simple name.

This approach works well if you use just a few members from the graphics package. But if you use many types from a package, you should import the entire package.

Importing an Entire Package

To import all the types contained in a particular package, use the import statement with the asterisk (*) wildcard character.

Now you can refer to any class or interface in the graphics package by its simple name.

The asterisk in the import statement can be used only to specify all the classes within a package, as shown here. It cannot be used to match a subset of the classes in a package. For example, the following does not match all the classes in the graphics package that begin with A .

Instead, it generates a compiler error. With the import statement, you generally import only a single package member or an entire package.

Be aware that the second import statement will not import Rectangle .

Another less common form of import , the static import statement, will be discussed at the end of this section.

For convenience, the Java compiler automatically imports two entire packages for each source file: (1) the java.lang package and (2) the current package (the package for the current file).

Apparent Hierarchies of Packages

At first, packages appear to be hierarchical, but they are not. For example, the Java API includes a java.awt package, a java.awt.color package, a java.awt.font package, and many others that begin with java.awt . However, the java.awt.color package, the java.awt.font package, and other java.awt.xxxx packages are not included in the java.awt package. The prefix java.awt (the Java Abstract Window Toolkit) is used for a number of related packages to make the relationship evident, but not to show inclusion.

Importing java.awt.* imports all of the types in the java.awt package, but it does not import java.awt.color , java.awt.font , or any other java.awt.xxxx packages. If you plan to use the classes and other types in java.awt.color as well as those in java.awt , you must import both packages with all their files:

Name Ambiguities

If a member in one package shares its name with a member in another package and both packages are imported, you must refer to each member by its qualified name. For example, the graphics package defined a class named Rectangle . The java.awt package also contains a Rectangle class. If both graphics and java.awt have been imported, the following is ambiguous.

In such a situation, you have to use the member's fully qualified name to indicate exactly which Rectangle class you want. For example,

The Static Import Statement

There are situations where you need frequent access to static final fields (constants) and static methods from one or two classes. Prefixing the name of these classes over and over can result in cluttered code. The static import statement gives you a way to import the constants and static methods that you want to use so that you do not need to prefix the name of their class.

The java.lang.Math class defines the PI constant and many static methods, including methods for calculating sines, cosines, tangents, square roots, maxima, minima, exponents, and many more. For example,

Ordinarily, to use these objects from another class, you prefix the class name, as follows.

You can use the static import statement to import the static members of java.lang.Math so that you don't need to prefix the class name, Math . The static members of Math can be imported either individually:

Once they have been imported, the static members can be used without qualification. For example, the previous code snippet would become:

Obviously, you can write your own classes that contain constants and static methods that you use frequently, and then use the static import statement. For example,

Java. Пакеты. Использование пакетов в Java. Директивы import и package. Компилированные модули (*.java). Промежуточные .class файлы. Структура проекта. Использование стандартных библиотек Java

Пакеты. Использование пакетов в Java. Директивы import и package . Компилированные модули ( *.java ). Промежуточные .class файлы. Структура проекта. Использование стандартных библиотек Java

Содержание

  • 1. Пакеты в Java
  • 2. Как подключить пакет к существующему проекту в Java Eclipse? Структура проекта, который содержит пакеты
  • 3. Какая общая форма вызова класса из пакета? Пример
  • 4. Пример, который демонстрирует использование одного имени класса в разных пакетах и в разных каталогах (папках)
  • 5. Какое назначение директивы import ? Общая форма. Пример
  • 6. Как в директиве import указать, что могут быть использованы все классы из данного пакета?
  • 7. Что собой представляет ключевое слово package ?
  • 8. Что такое компилированный модуль в Java?
  • 9. Какие требования к реализации компилированного модуля ( .java )?
  • 10. Сколько классов могут быть реализованы в компилированном модуле?
  • 11. Какое назначение файлов с расширением .class ?
  • 12. Какие преимущества дает использование ключевых слов package и import ?
  • 13. Пример, который демонстрирует структуру проекта и размещение компилированных модулей
  • 14. Пример подключения класса из стандартной библиотеки Java

Поиск на других ресурсах:

1. Пакеты в Java

Каждый проект на языке Java в своей работе использует так называемые пакеты. Пакет – это отдельный модуль (пространство имен), которому соответствует одноименный каталог (папка). Пакет содержит библиотеки (группы) классов. Эти классы объединены между собой в одном пространстве имен или пакете. Количество реализованных классов в пакете неограничено. Классы, которые объявляются в пакете, реализуются в файлах с расширением *.java .

Читать:
Как разложить вектор по базису трех векторов

Пакеты могут иметь разнообразные уровни вложения (подкаталоги, подпапки). На разных уровнях вложения пакетов имена могут повторяться. Сохранение пакетов и файлов *.java в проекте осуществляется в виде древовидной структуры файловой системы.

2. Как подключить пакет к существующему проекту в Java Eclipse? Структура проекта, который содержит пакеты

В системе Java Eclipse подключение пакета есть стандартной командой. Предварительно может быть создан проект. В проекте может размещаться произвольное количество пакетов. В каждом пакете может быть произвольное количество классов.

Для создания пакета в некотором проекте используется команда

В результате откроется окно, изображенное на рисунке 1. В окне указывается имя проекта и пакета, который будет размещаться в этом проекте.

Java Eclipse. Окно "New Java Package". Создание пакета в проекте

Рис. 1. Окно «New Java Package» . Создание пакета с именем MyPackage в проекте MyProject03

После выбора кнопки Finish происходит следующее. Проекту с именем MyProject03 соответствует специальная папка (каталог) с таким же именем. В этом каталоге создается несколько подкаталогов (подпапок). Один из них подкаталог с именем src. В этом подкаталоге создается каталог MyPackage , соответствующий создаваемому пакету.

3. Какая общая форма вызова класса из пакета? Пример

Чтобы обратиться к имени класса из пакета используется следующая общая форма:

  • PackageName – имя пакета, в котором реализован класс с именем ClassName ;
  • ClassName – имя класса.

Если пакет PackageName1 содержит подпапку (подпакет) с именем PackageName2 , то доступ к классу с именем ClassName имеет вид:

Подобным образом формируется доступ к классу в случае более более сложных уровней вложения.

Например. Пусть задан пакет с именем Figures . В пакете реализованы два класса с именами Circle и Rectangle . Тогда, фрагмент кода, который создает объекты этих классов будет следующий:

4. Пример, который демонстрирует использование одного имени класса в разных пакетах и в разных каталогах (папках)

На рисунке 2 изображена иерархия, которую могут образовывать пакеты.

Java Eclipse. Окно Package Explorer. Отображение проектов

Рис. 2. В проекте MyProject03 три пакета с именами MyPackage01 , MyPackage02 , MyPackage02.MyFolder02

Как видно из рисунка, в проекте MyProject03 созданы 3 пакета с именами MyPackage01 , MyPackage02 , MyPackage03 . Каждый из пакетов имеет класс с одинаковым именем MyClass01 . Таким образом происходит разделение одинаковых имен.

Ниже приведен демонстрационный код, создающий объекты классов MyClass01 , которые размещены в разных пакетах (папках), согласно схеме из рисунка 2.

Как видно из программного кода, доступ к классу из пакета осуществляется с помощью разделителя ‘ . ‘ (точка). С целью сокращения весьма больших строк доступа к имени класса, используется директива import .

5. Какое назначение директивы import ? Общая форма. Пример

Директива import позволяет сократить весьма длинные строки обращений к классам (интерфейсам, перечислениям), которые реализованы в пакетах.

В простейшем случае общая форма директивы import следующая:

  • PackageName – имя пакета, который подключается;
  • ClassFileName – имя файла с расширением *.java , в котором реализован класс или группа классов, к которому нужно обращаться по сокращенному имени.

Например. Пусть в некотором проекте задан пакет Figures. В пакете Figures реализован один класс с именем Circle . Класс размещен в файле «Circle.java» . Исходный код файла Circle.java , который реализует класс Circle, имеет вид:

Чтобы из любого другого класса, который размещается в другом пакете данного проекта, иметь доступ к методам файла Circle.java из пакета Figures нужно в начале указать:

Ниже приводится пример подключения и использования класса Circle из другого пакета и другого класса.

Если в пакете OtherPackage убрать строку

то объект класса Circle нужно было бы создавать следующим образом

6. Как в директиве import указать, что могут быть использованы все классы из данного пакета?

Бывают случаи, когда в пакете реализованы несколько классов (файлов с расширениями *.java ) и возникает необходимость подключения всего множества классов. В этом случае общая форма директивы import может быть следующая:

  • Package – имя пакета с библиотекой подключаемых классов.
7. Что собой представляет ключевое слово package ?

Ключевое слово package задает имя библиотеки, в которую могут входить разное количество компилированных модулей. Компилированные модули – это файлы с расширением .java .

Если в модуле (файле с расширением .java ) указывается строка наподобие

то это означает, что данный модуль есть частью библиотеки с именем PackageName .

8. Что такое компилированный модуль в Java?

Каждый компилированный модуль – это файл, который содержит исходный код на языке Java. Этот файл имеет расширение «*.java» . Имя файла совпадает с именем открытого ( public ) класса, который реализован в этом модуле. Это требование есть обязательным.

Каждый компилированный модуль может содержать не большее одного открытого класса. Компилированный модуль входит в состав пакета. В пакете может быть любое количество компилированных модулей.

9. Какие требования к реализации компилированного модуля ( .java )?

К реализации компилированного модуля предъявляются следующие требования:

  • имя компилированного модуля должно иметь расширение .java ;
  • имя компилированного модуля без учета расширения .java должно совпадать с именем открытого ( public ) класса, который реализован в этом модуле;
  • имя компилированного модуля и имя реализованного в нем открытого класса должны начинаться из большой буквы;
  • в компилированном модуле может быть не более одного открытого ( public ) класса. Если в компилированном модуле есть еще другие (вспомогательные) классы, то они должны быть скрытыми (без модификатора public ).
10. Сколько классов могут быть реализованы в компилированном модуле?

Компилированный модуль может иметь любое количество классов. Однако, открытым ( public ) должен быть только один класс. Имя этого класса должно совпадать с именем компилированного модуля.

11. Какое назначение файлов с расширением .class ?

Файлы с расширением .class получаются в результате компиляции файлов с расширением .java (компилированных модулей). Файлы с расширением .class есть промежуточными файлами, которые затем объединяются компоновщиком в исполнительный модуль.

Например, в языке программирования Delphi временные скомпилированные файлы имели расширение *.dcu . В языке программирования C++ временные скомпилированные файлы имели расширение .obj . После компоновки из этих файлов получался *.exe файл (исполняемый модуль).

После этого, файлы с расширением .class объединяются в пакет и сжимаются утилитой JAR . Это все осуществляет интерпретатор Java.

12. Какие преимущества дает использование ключевых слов package и import ?

Использование ключевых слов package и import позволяет удобно поделить пространство имен таким образом, чтобы предотвратить возникновению конфликтов между разными разработчиками классов на Java.

13. Пример, который демонстрирует структуру проекта и размещение компилированных модулей

Пусть в Java Eclipse создан проект с именем Project03 . Проект размещается в папке по умолчанию, которая используется системой Java Eclipse. В проекте созданы 2 пакета с именами Figures , OtherPackage . В пакетах реализованы по одному компилированному модулю соответственно с именами Circle.java и MyClass.java . Рисунок 3 отображает структуру проекта Project03 системы Java Eclipse.

Java Eclipse. Отображение структуры проекта в окне Package Explorer

Рис. 3. Отображение структуры проекта Project03 в окне Package Explorer

В файле (модуле) Circle.java разработан класс Circle . В файле MyClass.java разработан класс MyClass . В классе MyClass из пакета OtherPackage (см. рис. 3) подключается модуль Circle.java с помощью директивы

Если компилятор встречает директиву import , он формирует полное имя с учетом пути к каталогу, который записан по умолчанию в системе.

таким образом, получается полное имя модуля Circle.java :

По желанию путь к каталогу (папке) по умолчанию можно изменить.

14. Пример подключения класса из стандартной библиотеки Java

Чтобы обратиться к имени класса из стандартной библиотеки Java используется один из двух способов:

  1. Использование полной формы или полного имени класса в библиотеке.
  2. Использование сокращенной формы имени класса. В этом случае, полное имя пакета с нужным классом, может быть задано явным образом с помощью директивы import .

Полная форма обращения к имени нужного класса в простейшем случае выглядит так

  • PackageName – имя пакета или стандартной библиотеки Java (например, util, math, applet и прочее). Пакеты или библиотеки могут иметь уровни вложения. Если библиотеки содержат вложения, то они разделяются символом ‘ . ‘ ;
  • ClassName – имя класса (или интерфейса), который реализован в библиотеке PackageName (например ArrayList , BigDecimal и т.п.).

Например. Фрагмент кода, который использует класс Vector из стандартной библиотеки Java. В данном случае стандартная библиотека Java носит имя java.util .

В вышеприведенном коде происходит обращение к классу Vector по полному имени:

Как добавить библиотеку в IntelliJ IDEA (на примере JAXB)

Иногда самые простые вещи стопорят процесс обучения. Как если бы ты пришёл на урок вождения и первые полтора часа просто искал ключ, чтобы попасть в автомобиль. Эта статья — такой ключ, которого мне, как новичку, не хватило в нужном месте. Итак: 1. Переходим по ссылке: mvnrepository.com и набираем в строке поиска «jaxb» Как добавить коллекци JAXB в IntelliJ IDEA - 1Нам нужны JAXB API и JAXB Runtime Как добавить коллекци JAXB в IntelliJ IDEA - 2 Как добавить коллекци JAXB в IntelliJ IDEA - 32. Жмём на JAXB API. Открывается: Как добавить коллекци JAXB в IntelliJ IDEA - 4Здесь выбираем версию (колонка Version). Как добавить коллекци JAXB в IntelliJ IDEA - 5Я выбрал последнюю популярную — 2.3.1. Нажимаем на выбранный номер версии. Открывается: Как добавить коллекци JAXB в IntelliJ IDEA - 63. Если в строке Files есть есть jar файл, можно сразу скачать его. Если нет, нажимаем «View All» и скачиваем нужный (jaxb-api-2.3.1.jar) файл в открывшемся окне: Как добавить коллекци JAXB в IntelliJ IDEA - 74. Аналогично пунктам 2-3 скачиваем jar файл для JAXB Runtime. 5. Мы скачали всё, что нужно, теперь добавим это в IntelliJ IDEA. 5.1 Открываем Project Structure: Как добавить коллекци JAXB в IntelliJ IDEA - 85.2 На вкладке Libraries нажимаем «+» и «Java» в появившемся меню. Как добавить коллекци JAXB в IntelliJ IDEA - 95.3 Выбираем скачанный файл из папки загрузки на своём компьютере и нажимаем «Open». 5.4 Выбираем модуль, к которому хотим добавить библиотеку. Я выбрал весь проект. Жмём «ОK». Затем жмём «Apply» (внизу). Как добавить коллекци JAXB в IntelliJ IDEA - 105.5 Аналогично пунктам 5.1-5.4 добавляем скачанный нами jar файл JAXB Runtime. 5.6 Далее переходим на вкладку Modules, выбираем JavaCollections, и на вкладке Dependencies нажимаем «+» (как на скриншоте) и «Library. » Как добавить коллекци JAXB в IntelliJ IDEA - 115.7 Выбираем нужные библиотеки и жмём «Add Selected» Как добавить коллекци JAXB в IntelliJ IDEA - 125.8 Выбираем только что добавленные библиотеки и жмём «Apply» и «OK». Как добавить коллекци JAXB в IntelliJ IDEA - 13Всё готово и можно приступать к решению задач. Может описал чересчур подробно, но зато точно понятно:) Желаю успехов!

Похожие статьи