Во-первых, вам необходимо точно знать, где и когда будет использоваться библиотека svnkit
, и какова цель этой библиотеки в вашем проекте. С информацией, которую вы предоставляете, я могу лишь отдаленно направить вас к правильному решению.
В мире JIRA / OSGI у вас есть два основных варианта:
- Вы компилируете библиотеку вместе с вашим кодом так, чтобы байт-код вашего проекта и байт-код библиотеки, которую вы использовали, были упакованы вместе в файл JAR в результате
atlas-package
(mvn package
). Я пропустил любые другие ресурсы для ясности.
- Вы компилируете свой проект, но окончательный JAR-файл содержит только байт-код вашего проекта плюс явную информацию о том, что зависимая библиотека уже будет присутствовать в среде, в которой был запущен JAR.
В вашем случае, я предполагаю, что svnkit
библиотека отсутствует в JIRA, что вы хотите запустить свой плагин / JAR. Это означает, что вы должны предоставить это самостоятельно. Симпатичный / рекомендуемый способ:
- Подготовка
svnkit
к готовности OSGI, JAR должен быть действительным пакетом OSGI. (Вы можете найти такой пакет уже подготовленным где-нибудь в репозитории Atlassian Maven или где-то в Интернете)
В вашем pom.xml добавьте эту зависимость с областью действия provided
: например ::
<dependency>
<groupId>com.svnkit</groupId>
<artifactId>svnkit</artifactId>
<version>1.1.0</version>
<scope>provided</scope>
</dependency>
Добавить конфигурацию для maven-amps-plugin
(maven-jira-plugin
) для упаковки svnkit
в качестве зависимости пакета OSGI
<build>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-jira-plugin</artifactId>
<version>${amps.version}</version>
<configuration>
<extractDependencies>false</extractDependencies>
<pluginDependencies>
<pluginDependency>
<groupId>...</groupId>
<artifactId>...</artifactId>
</pluginDependency>
</pluginDependencies>
...
</configuration>
</plugin>
</plugins>
</build>
Таким образом, atlas-package
создаст также файл OBR, который будет содержать ваш проект JAR plus svnkit
bundle
Смотрите также:
https://developer.atlassian.com/server/framework/atlassian-sdk/bundling-extra-dependencies-in-an-obr/
И имейте в виду, что это:
<dependency>
<groupId>com.svnkit</groupId>
<artifactId>svnkit</artifactId>
<version>1.1.0</version>
</dependency>
означает точно так же, как:
<dependency>
<groupId>com.svnkit</groupId>
<artifactId>svnkit</artifactId>
<version>1.1.0</version>
<scope>compile</scope>
</dependency>
, что означает, что svnkit
будет включено в ваш JAR-файл прямо или как суб-JAR (JAR в JAR)
Ваши журналы, с другой стороны, указывают на то, что вы неправильно настроили DemoAction
. Было бы лучше, если бы вы предоставили pom.xml
вместе с atlassian-plugin.xml
, чтобы мы лучше поняли вашу проблему.