我是使用Maven的新手。感谢是否有人能给我一些帮助。
我想为JIRA构建一个插件。我已经安装了Maven 2附带的Atlassian Plugin SDK(预先捆绑在一起)。
在我的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构建另一个example plugin。我发现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文件中,我可以看到这些存储库(Maven 2中的默认settings.xml,它与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从Atlassian存储库下载JIRA包。
有人能给我一些帮助吗?感谢。
答案 0 :(得分:1)
您的代码未编译,因为您所包含的软件包未包含在atlassian-jira JAR中。您似乎至少需要以下附加依赖项:
<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>
答案 1 :(得分:0)
检查提到的jira jar版本是否在远程存储库(https://m2proxy.atlassian.com/repository/public)中可用?如果不可用则更改版本,哪一个有完整的jar。