gpt4 book ai didi

java - 添加 Jira 插件的依赖项

转载 作者:行者123 更新时间:2023-11-30 06:06:36 25 4
gpt4 key购买 nike

使用 SDK 6.3.10,我正在尝试为 Jira 7.x 开发一个插件。

此插件应使用名为“svnkit”的外部 Java 依赖项。我将其添加为 pom 中的依赖项(如果我正确理解 https://developer.atlassian.com/server/framework/atlassian-sdk/managing-dependencies/ 这应该足够了):

<dependency>
<groupId>com.svnkit</groupId>
<artifactId>svnkit</artifactId>
<version>1.1.0</version>
</dependency>

现在我在 atlas-run 日志中收到消息:

[INFO] [talledLocalContainer] 2018-07-04 16:50:55,310 http-nio-2990-exec-3 ERROR anonymous 1010x2x1 - 0:0:0:0:0:0:0:1 /secure/DemoAction!default.jspa [c.a.j.web
.dispatcher.JiraWebworkActionDispatcher] Exception thrown from action 'DemoAction!default', returning 404
[INFO] [talledLocalContainer] WebworkConfigurationNotFoundException{class=class webwork.config.XMLActionConfiguration, message='No such view mapping', name='Dem
oAction.actionRoles.actionRoles'}

插件本身会在浏览器中返回 404 页面。没有 svnkit,一切都可以在浏览器中运行。请注意,我没有在 Java 代码中使用 svnkit。

我完全不知道这条消息意味着什么,也不知道我在哪里寻找补救措施。

最佳答案

首先,您需要准确了解 svnkit 库的使用地点和时间,以及该库在您的项目中的用途。根据您提供的信息,我只能远程指导您找到正确的解决方案。

在 JIRA/OSGI 世界中,您基本上有两种选择:

  1. 您将库与代码一起编译,以便您的项目的字节码和您使用的库的字节码通过 atlas-package (mvn package)。为了清楚起见,我跳过了任何其他资源。
  2. 您编译项目,但最终的 JAR 仅包含项目的字节码以及依赖库已存在于启动 JAR 的环境中的显式信息。

就您而言,我认为您想要运行插件/JAR 的 JIRA 中不存在 svnkit 库。这意味着,您需要自己提供。漂亮/推荐的方法是:

  1. 准备 svnkit 为 OSGI 做好准备,JAR 需要是有效的 OSGI 包。 (您可以在 Atlassian maven 存储库或互联网的某个地方找到已经准备好的此类 bundle )
  2. 在您的 pom.xml 中添加此依赖项,其范围为 provided:例如:

    <dependency>
    <groupId>com.svnkit</groupId>
    <artifactId>svnkit</artifactId>
    <version>1.1.0</version>
    <scope>provided</scope>
    </dependency>
  3. 添加 maven-amps-plugin (maven-jira-plugin) 的配置,以将 svnkit 打包为 OSGI bundle 依赖项

    <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 以及 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 in JAR)

另一方面,您的日志指出您的 DemoAction 配置错误。如果您将 pom.xmlatlassian-plugin.xml 一起提供,以便我们更好地理解您的问题,那就更好了。

关于java - 添加 Jira 插件的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51176483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com