Добавление внешних Java классов

AnyLogic предоставляет уникальную возможность добавления любых внешних Java классов в вашу модель. 

Для этого вам необходимо:

  1. Импортировать архивов Java (*.jar, *.zip) или каталог внешних классов в модель AnyLogic.
  2. Добавить операторов импорта в модель или использовать полный путь при обращении к экземплярам внешних Java классов.

Более того, AnyLogic позволяет добавлять каталоги внешних классов. Эта возможность особенно полезна на стадии разработки модели, когда внешние Java классы постоянно изменяются. Когда же вы закончите создание вашей модели, будет проще заархивировать каталог классов в.jar файл и связать с моделью именно файл архива.

Как и библиотеки, и файлы Java архивов и каталоги классов, необходимые для построения модели, должны быть указаны в списке зависимостей модели. Этот список редактируется в секции Зависимости панели свойств модели. При экспорте модели все ресурсы, указанные в этом списке будут скопированы в тот каталог, куда будет помещен файл экспортированной модели.

 Чтобы добавить внешние Java классы (в виде архивного файла Java или каталога внешних классов) в список зависимостей модели
  1. Выберите модель в панели Проекты (элемент верхнего уровня дерева).

  1. Откройте секцию Зависимости панели Свойства.

  1. В секции зависимостей модели, щелкните по кнопке Добавить  справа от таблицы Jar файлы и папки классов, требуемые для построения модели. Откроется диалоговое окно Добавить путь к классам.

  1. Выберите Тип добавляемого ресурса: Файл архива Java (*.jar, *.zip) или Каталог внешних классов.
  2. Выберите, хотите ли вы скопировать файл Java архива в каталог модели или нет. Импортируя файлы ресурсов модели, вы делаете вашу модель легко переносимой (ее легче передавать другим пользователям, просто копируя весь каталог модели целиком). Для импорта файла в папку модели выберите опцию Импортировать файл в папку модели. В противном случае (опция Ссылаться на текущее местоположение файла) файлы останутся в текущем месте, и в модели будет просто запомнена ссылка на их местоположение. Этот случай чаще всего используется, когда на один Java архив ссылаются сразу несколько моделей AnyLogic, и в случае обновления такого файла архива проще выполнять данное обновление в одном месте, при этом все модели будут ссылаться на обновленный файл без каких бы то ни было изменений.
  3. Укажите имя файла (включая путь к нему) в поле Файл. Вы можете задать как абсолютный, так и относительный путь к файлу (выберите ниже соответствующую опцию, Использовать абсолютный путь, или Использовать относительный путь). Вы можете выбрать необходимый файл с помощью стандартного диалогового окна выбора файла, открываемого по щелчку кнопки Открыть.  
  4. Когда вы закончите процесс добавления, закройте диалоговое окно, щелкнув по кнопке Готово. По завершении исходный файл также автоматически появится в папке Ресурсы, расположенной в панели Проекты. Таким образом вы сможете отслеживать текущее состояние этого файла, менять тип пути к файлу и т.д.

Обращение ко внешним Java классам в модели AnyLogic

После настройки зависимостей вы можете использовать внешние Java классы в вашей модели.

С помощью следующей демонстрационной модели мы покажем, как обращаться к внешним Java классам внутри модели. В этой модели мы используем внешнюю Java библиотеку JAMA. JAMA - это базовая Java библиотека функций линейной алгебры. В нашей модели три переменные (A, B, C), которые являются экземплярами внешнего класса Jama.Matrix, разработанного в качестве стандартного матричного класса для Java.

Демо модель: External JAR files

Есть два способа обращения к внешним Java классам из вашей модели AnyLogic.

Удаление Java классов из зависимостей модели

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

 Чтобы удалить внешний .jar файл или каталог классов из списка зависимостей модели

  1. Выберите модель в панели Проекты (элемент верхнего уровня дерева).
  2. Перейдите в секцию Зависимости в панели Свойства.
  3. Выберите ресурс, который вы хотите удалить, в таблице Jar файлы и каталоги классов, требуемые для построения модели и щелкните мышью по кнопке Удалить  справа от таблицы.