0

目前我正在为(Atlassian)Bitbucket 开发一个 JAVA 插件。但我对 Maven 相当陌生,它是依赖管理。

现在我的 pom.xml 中有以下依赖项声明

<dependency>
    <groupId>org.telegram</groupId>
    <artifactId>telegrambots</artifactId>
    <version>2.4.4.5</version>
</dependency>

但是当我尝试运行(使用atlas-run)时,当系统尝试启用插件时,我会收到以下错误:

[INFO] [talledLocalContainer] 2017-09-18 17:43:40,422 错误 [spring-startup] caplugin.osgi.factory.OsgiPlugin 检测到错误(BundleException)启用插件'com.atlassian.bitbucket.plugin.HotfixMes.HotfixMes -Plugin':捆绑 com.atlassian.bitbucket.plugin.HotfixMes.Plugin [32] 中未解决的约束:无法解决 32.0:缺少要求 [32.0] osgi.wiring.package;(osgi.wiring.package=com.sun.jdi)。当您的插件从具有特定版本约束的另一个包导入包并且提供该包的包不满足这些版本约束,或者没有提供指定包的包时,通常会发生此错误。有关如何解决此问题的更多详细信息,请参阅https://developer.atlassian.com/x/mQAN

试图阅读这个,看起来依赖项com.sun.jdi没有加载。这是我不明白的:

  1. 首先:当我有一个“干净”的 Java 应用程序而不是 Bitbucket 插件时,这很有效。所以那里没有依赖问题
  2. 我找不到哪个“子依赖项”需要它,但我确信它与 org.telegram.telegrambots 有关,因为该错误仅在我启用该依赖项时发生。

有人能指出我正确的方向吗?

4

1 回答 1

0

在jira插件开发中指定依赖的范围非常重要,所以请尝试以下操作:

<dependency>
    <groupId>org.telegram</groupId>
    <artifactId>telegrambots</artifactId>
    <version>2.4.4.5</version>
    <scope>provided</scope>
</dependency>
于 2017-11-14T12:32:03.517 回答