2013-06-20 9 views
3

Я использую Maven для управления зависимостями в моих проектах Android и его замечательном.Преобразование проекта библиотеки андроидов в артефакт maven для использования в intellij idea

Я хочу использовать сторонний проект библиотеки андроида (https://github.com/emilsjolander/StickyListHeaders) и вместо того, чтобы загружать каталог и добавлять зависимость вручную, я хочу сменить проект StickyListHeaders на проект maven (apklib?).

  1. Как создать артефакт maven.
  2. Есть ли что-нибудь, что я могу сделать обратно в github, чтобы позволить автору опубликовать там проект на maven central?
  3. После создания артефакта я должен настроить локальное рефери maven, такое как nexus, чтобы поделиться артефактом с командой.

ответ

2
  1. Этот проект уже имеет pom.xml, так, чтобы создать артефакт, вы должны только сделать mvn package.

  2. Here есть подробное объяснение того, как публиковать данные в Maven Central Respository.

  3. Когда мне нужно использовать библиотеку non-maven в моих проектах Maven, я использую «репозиторий папок» . К «папка respository» Я имею в виду, что я иногда использую одну папку моего проекта (lib или repo) в качестве локального репозитория.

Для этого нужно конфиг хранилище так:

<repository> 
    <id>project</id> 
    <name>Project Maven Repository</name> 
    <layout>default</layout> 
    <url>file://${project.basedir}/lib</url> 
</repository> 

И тогда вы можете развернуть артефакт в локальном хранилище, как это:

mvn install:install-file -Dfile=path-to-your-artifact-jar \ 
         -DgroupId=your.groupId \ 
         -DartifactId=your-artifactId \ 
         -Dversion=version \ 
         -Dpackaging=jar \ 
         -DlocalRepositoryPath=path-to-specific-local-repo 

Подсказка: Когда мой проект имеет несколько модулей maven, я использую file://${project.basedir}/../lib в качестве репозитория url.