Как скачать программные зависимости в Maven 2? - PullRequest
3 голосов
/ 17 декабря 2011

Я очень новичок в использовании Maven. Спасибо, если кто-нибудь может мне помочь.

Я хочу создать плагин для JIRA. Я установил Atlassian Plugin SDK, который поставляется вместе с Maven 2 (в комплекте).

В моих исходных кодах Java я хочу импортировать эти пакеты из репозитория Atlassian:

import com.atlassian.crowd.embedded.api.User;
import com.atlassian.jira.rpc.exception.*;
import com.atlassian.jira.rpc.auth.*;
import com.atlassian.jira.rpc.soap.beans.*;
import com.atlassian.jira.rpc.soap.service.*;
import com.atlassian.jira.rpc.soap.util.*;
import com.atlassian.jira.rpc.soap.JiraSoapServiceImpl;
import com.atlassian.jira.soap.axis.JiraSoapTokenResolver;
import org.apache.axis.encoding.Base64;

Я пытался использовать Maven для создания другого примера плагина из Atlassian. Я обнаружил, что Maven может загрузить все необходимые пакеты зависимостей из репозитория и без проблем создать приложение.

Однако, когда я использовал Maven для создания собственного плагина, он не смог загрузить зависимости из репозитория Atlassian. Отображаются следующие сообщения об ошибках:

...
xxxxx.java:[x,x] package com.atlassian.jira.rpc.exception does not exist
xxxxx.java:[x,x] package com.atlassian.jira.rpc.auth does not exist
xxxxx.java:[x,x] package com.atlassian.jira.rpc.soap.beans does not exist
xxxxx.java:[x,x] package com.atlassian.jira.rpc.soap.service does not exist
xxxxx.java:[x,x] package com.atlassian.jira.rpc.soap.util does not exist
xxxxx.java:[x,x] package com.atlassian.jira.rpc.soap does not exist
...

xxxxx.java:[x,x] cannot find symbol
symbol: class JiraSoapService
...

В мои pom.xml я включил эти:

<dependency>
<groupId>com.atlassian.jira</groupId>
<artifactId>atlassian-jira</artifactId>
<version>${jira.version}</version>
<scope>provided</scope>
</dependency>

В файле Maven settings.xml я вижу эти репозитории (по умолчанию settings.xml в Maven 2, который предварительно входит в комплект установки Atlassian Plugin SDK):

<repositories>
<repository>
<id>atlassian-public</id>
<url>https://m2proxy.atlassian.com/repository/public</url>
<snapshots>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
</repository>
<repository>
<id>atlassian-plugin-sdk</id>
<url>file://${env.ATLAS_HOME}/repository</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
</repository>
</repositories>

<pluginRepositories>
<pluginRepository>
<id>atlassian-public</id>
<url>https://m2proxy.atlassian.com/repository/public</url>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<checksumPolicy>warn</checksumPolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>

Я потратил много времени, чтобы сравнить pom.xml с другим плагином JIRA pom.xml. Но я до сих пор не понимаю, как попросить Maven загрузить пакеты JIRA из репозитория Atlassian.

Кто-нибудь может мне помочь? Спасибо.

Ответы [ 2 ]

1 голос
/ 17 декабря 2011

Ваш код не компилируется, потому что включенные вами пакеты не содержатся в JAR-файле atlassian-jira.Похоже, вам понадобится как минимум следующая дополнительная зависимость:

<dependency>
  <groupId>atlassian-jira-rpc-plugin</groupId>
  <artifactId>atlassian-jira-rpc-plugin</artifactId>
</dependency>

Но я не смог найти ее в репозитории JIRA.Вам может понадобиться Google, чтобы узнать, в каком репозитории он находится (или установить его вручную, локально).

РЕДАКТИРОВАТЬ

Чтобы установить JARв свой репозиторий вы можете использовать следующую команду:

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
    -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>
0 голосов
/ 17 декабря 2011

проверьте, доступна ли упомянутая версия jira jar в удаленном репозитории (https://m2proxy.atlassian.com/repository/public)?,, если она недоступна, измените версию, у которой есть полный jar.

...