Вторник, 2024-03-19, 5:11 PM

Поиск
Меню
Категории раздела
Поддержи проект!
Рекомендуем


Maven интеграция

В настоящее время libgdx находиться в SonaType snapshot репозитории.Это будет происходить до тех пор пока Maven интеграция не будет завершена. На данный момент репозиторий содержит только последние snapshot релиз. В конце концов также будет опубликован build релиз в Sonatype.

Добавьте следующие строки в settings.xml или pom.xml вашего проекта:

<repositories>
    <repository>
      <id>gdx-nightliesid>
      <url>https://oss.sonatype.org/content/repositories/snapshots/url>
    repository>
repositories>
Если вы используете archetype вам не нужно добавлять репозиторий в ваш настройки Maven.

Настройка libgdx с Maven не так тривиальна, так как она:

  • содержит нативные библиотеки
  • развертывает на GWT
  • развертывает на Android
Чтобы обработать все это libgdx полагается на следующие Maven плагины:Чтобы сделать все это более легким предлагается Maven archetype, который генерирует много-модульный Maven проект.

Maven Archetype

В настоящее время Maven archetype нет ни в одном репозитории. Вы можете скачать его libgdx-maven-archetype и скомпилировать, затем установить в свой локальный Maven репозиторий при помощи shell:

git clone git://github.com/libgdx/libgdx-maven-archetype.git
cd libgdx-maven-archetype
mvn install
Чтобы вызвать archetype нужно сделать следующие:
mvn archetype:generate -DarchetypeGroupId=com.badlogic.gdx -DarchetypeArtifactId=gdx-archetype -DarchetypeVersion=0.9.9-SNAPSHOT -DgroupId=com.badlogic.test -DartifactId=test -Dversion=1.0-SNAPSHOT -Dpackage=com.badlogic.test -DJavaGameClassName=Test
Три первый параметра указывают archetype, который имеет группу id com.badlogic.gdx, artifact id gdx-archetype и версию (сейчас 0.9.9-SNAPSHOT).

Следующие параметры указывают атрибуты вашего проекта:

  • groupId: your project’s group id
  • artifactId: artifact id вашего проекта
  • version: версия вашего проекта
  • package: главный пакет вашего проекта
  • JavaGameClassName: имя ApplicationListener класса, и префикс для starter классов платформ, на пример MyClassDesktop, MyClassAndroid и т.д.
Для параметров описанных выше вы в конечном итоге будете иметь дело со следующей структурой проекта (мы будем использовать этот пример в последующих разделах).
test/       <-- the base directory
   core/    <-- contains the apps core
   desktop/ <-- desktop starter & assets
   android/ <-- android starter
   html/    <-- HTML starter
   ios/    <- stub, not working at the moment
Главный проект содержит код вашего приложения. Desktop проект содержит assets директорию, которая является общей и разделяется между остальными проектами, а так же содержит destop starter класс. Android проект содержит start-up код для Android и зависит от главного проекта. Тоже самое можно сказать о HTML проекте. iOS проект сейчас не работает.

Сборка и развертывание

Использовать Maven для сборки и развертывания вашего приложения для разных backend очень легко.

Desktop

Выполните следующие чтобы запустить jar файл на desktop:

mvn -Pdesktop package

Это создаст файл с названием test-desktop-1.0-SNAPSHOT-jar-with-dependencies.jar в test/desktop/target директории. Он содержит все необходимые зависимости, assets и manifest файл указывающий main класс. Вы можете выполнить этот файл:

java -jar test-desktop-1.0-SNAPSHOT-jar-with-dependencies.jar

Android

Чтобы создать не подписанный APK для Android выполните следующие:

mvn -Pandroid package
Это создаст файл с названием test-android-1.0-SNAPSHOT.apk в test/android/target директории. Чтобы установить apk на устройство или эмулятор выполните:
mvn -Pandroid install
Для более полной информации о Android смотрите Maven Android plugin

HTML5/GWT

Чтобы скомпилировать HTML5 проект в JavaScript выполните:

mvn -Phtml package
Конечный результат находится в target/ директории. Вы можете использовать .war файл, который был сгенерирован и развернуть его на Jetty/Tomcat или скопировать содержимое HTML/target/test-html-1.0-SNAPSHOT/ директории и разместить на вашем веб сервере. Директория war содержит веcm скомпилированный JavaScript код, index.html файл и assets.

Сейчас нет возможности запустить HTML5 проект с помощью Maven. Это связано с проблемой путей и работы GWT и Jetty плагинов.

IDE Интеграция

Eclipse, Intellij Idea и NetBeans все в различной форме поддерживают Maven проекты. Archetype делает ваш libgdx проект удобным для использования в Eclipse и Intellij Idea. NetBeans не поддерживается.Плагины для Eclipse разные в том, как интерпретировать Maven конфигурацию для GWT и Android проектов в Intellij. Следующий раздел описывает как импортировать проект в обоих IDE после создания его используя archetype.

Eclipse

Перед тем как импортировать ваш проект, вам нужно установить следующие Eclipse плагины:

  • m2e, должен уже быть доступен при чистой установки Eclipse installation (Java и Java EE). Предоставляет основную Maven поддержку для Eclipse.
  • m2e-android предоставляет Maven интеграцию для Android проектов в Eclipse. Сейчас ожидается m2e-android команды принятие запроса. Пока вы должны скопировать их репозиторий, скомпилировать плагин и установить его вручную в Eclipse.
  • Google Web Toolkit, плагин для Eclipse, который позволяет вам разрабатывать GWT проекты.
Как только плагины будут установлены, вы можете импортировать ваш Maven libgdx проекты перейдя File -> Import... -> Maven -> Existing Maven Projects. Это импортирует родительских pom как проект вместе с главным, Desktop, Android и HTML5 проектами.

Вы можете запускать и делать отладку проектов как вы делали если настраивали проекты черезе gdx-setup-ui.

IntelliJ Idea

Перед тем как начать, убедить что IntelliJ Idea знает где находиться установленный Maven.

Перейдите File -> Settings и в диалоговом окне выберите Maven. Укажите директорию, в которой находиться установленный Maven.

После того как вы создали проект с помощью archetype, вы можете импортировать его в IntelliJ Idea. Перейдите File -> Open Project и затем перейдите к корневой директории проекта.

После того как загрузиться проект вы должны включить profiles. Откройте Maven Project просмотр и отметьте profiles Desktop, Android и HTML.

profiles libgdx проектов

Чтобы запустить Desktop проект создайте новую конфигурацию через Run -> Edit Configurations. Создайте новую конфигурацию нажатием «+» кнопки вверху слева и выберите Application. Задайте Main class для Desktop starter класса и выберите desktop module.

Конфигурация запуска Desktop проекта

Запустите эту конфигурацию для запуска приложения на Desktop.

Чтобы запустить Android проект создайте новую конфигурацию, в этот раз выберите Android Application во время создания проекта. Выберите Android module и затем отметьте Run Maven Goal и нажмите на «...» кнопку справа. В диалоговом окне выберите Android проект, затем Lifecycle и из списка goals выберите package. Вы можете так же установить Target Device в Show chooser dialog, так что вы будете получать диалог при развертывании проекта, на устройство или эмулятор.

Конфигурация запуска Android проекта

Запустите эту конфигурацию для запуска приложения на Android устройстве или эмуляторе.