Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix

Hi Atlassian,

When I try to build an app against Confluence 8.5.0 I’m getting the following error:

Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in atlassian-public (https://packages.atlassian.com/mvn/maven-external/)

I was notified of your intention to move away from the old packages.atlassian.com/mvn/maven-external URL and that I should try packages.atlassian.com/mvn/maven-atlassian-all/

Unfortunately, that didn’t work:

Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>xmlrpc/xmlrpc/2.0 xmlrpc61.1 sbfix/xmlrpc-2.0 xmlrpc61.1 sbfix.jar</Key>
<RequestId>XJMZXCZ9ATXX370P</RequestId>
<HostId>Bit0/YZZPiZBSvKkNZMOgl2l60RP03JgGXy+qFkwLxaKDMagCt6JTPbK/66BHnxww3/eszyH8lA=</HostId>
</Error>

Could it be that you are being a bit proactive in removing packages from your public repos?

1 Like

Hi @remie,

I have posted a related question 9 days ago and get some response … so they are already “alerted” :grinning:

If I use

https://packages.atlassian.com/mvn/maven-external/

(with a slash at the end), instead of a 404 I get redirected to

https://repo1.maven.org/maven2/

The other URL, https://packages.atlassian.com/mvn/maven-atlassian-all/, is redirected to https://maven.artifacts.atlassian.com with the error message you provided.

1 Like

Hi @remie,

Good to chat to you again. There have been some recent changes to packages.atlassian.com and I’d like to check you’ve seen these updates. Can you confirm you’re following the information in both these documents

Also make sure you’re on Atlassian SDK 9.x, the Debian and other repos are out of date so using atlas-update is the best way to update it.

Basically, make sure your settings.xml is up to date, or you use the default one we provide with the SDK.

James.

Hi @jrichards ,

Yeah, I would really love to be able to use the latest 9.x version of the SDK, but if I do that I will end up with

Could not find artifact jndi:jndi:jar:1.2.1

Which is also mentioned here: Atlassian SDK 9.0.2 Error when using atlas-mvn install - #10 by m.herrmann

Can you please create an SDK version that actually works?

Please note that this is running on a CI server. I do not have the ability (nor desire) to provide a custom settings.xml

Please note that this is all happening in open source code

You can find the code here:

The failed CI pipeline can be found here:
https://app.circleci.com/pipelines/github/collabsoft-net/atlassian-connect-polyfill/47/workflows/b5180602-116b-4d07-8a52-879417bb1fab/jobs/54

Hi @remie,

It should work based on what I can see in the logs you have

/opt/atlassian-plugin-sdk/apache-maven-3.9.8/bin/mvn  -gs /opt/atlassian-plugin-sdk/apache-maven-3.9.8/conf/settings.xml clean deploy -P jira -DskipTests -Drelease=false

But I can’t tell what version of the AtlassianSDK it is. If it’s the latest version (9.1.1), this should work. I don’t think 9.0.2 is covered by the changes.

James.

Hi @jrichards ,

I’ve added an additional step that outputs the SDK version. You can see it here:
https://app.circleci.com/pipelines/github/collabsoft-net/atlassian-connect-polyfill/48/workflows/1a49ca52-2ba4-4ba2-94ea-f77cd154785b/jobs/55

This is version 9.1.1 and it is not working.

You can see the POM file here:

From my dev support ticket regarding the jndi issue I got the following possible workaround:

rm -R ~/.m2/repository/jndi
/opt/atlassian-plugin-sdk/bin/atlas-mvn install:install-file -DgroupId=jndi -DartifactId=jndi -Dversion=1.2.1 -Dpackaging=jar -Dfile=/opt/atlassian-plugin-sdk/repository/jndi/jndi/1.2.1/jndi-1.2.1.jar

Thanks!

That workaround does fix the JNDI issue indeed. Not necessary pleased that it is required, but at least now we are one step further.

Unfortunately, now that the JNDI issue is resolved, we still have the xmlrpc dependency issue. @jrichards you said this would be fixed by using the latest SDK… but it isn’t

[ERROR] dependency: xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix (provided)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in maven-central (https://repo1.maven.org/maven2/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in atlassian-proxy (https://packages.atlassian.com/artifactory/maven-atlassian-all/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in terracotta (https://repo.terracotta.org/maven2/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in gradle-plugins (https://plugins.gradle.org/m2/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in mulesoft (https://maven.anypoint.mulesoft.com/api/v1/maven/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in aspose (https://releases.aspose.com/java/repo/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in clojars (https://clojars.org/repo/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in sonatype forge (https://repository.sonatype.org/content/repositories/forge/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in mulesoft-releases (https://repository.mulesoft.org/releases/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in mulesoft-public (https://repository.mulesoft.org/nexus/content/repositories/public/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in typesafe (https://repo.typesafe.com/typesafe/releases/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in jenkins-releases (https://repo.jenkins-ci.org/releases/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in atlassian (https://packages.atlassian.com/mvn/maven-atlassian-all/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in atlassian-3rdparty (https://packages.atlassian.com/maven-3rdparty/)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in jitpack.io (https://jitpack.io)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in repository.jboss.org-public (https://repository.jboss.org/nexus/content/groups/public)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in CollabSoft Maven Repository (https://repository.collabsoft.net/releases)
[ERROR]         Could not find artifact xmlrpc:xmlrpc:jar:2.0+xmlrpc61.1+sbfix in central (https://repo.maven.apache.org/maven2)

https://app.circleci.com/pipelines/github/collabsoft-net/atlassian-connect-polyfill/50/workflows/4350ba18-9c98-4320-95ca-2c41bcabca40/jobs/57

Digging a little deeper, I’ve uploaded the specific file to our own Maven repository also running on S3. It seems that there is an issue with the file name:

https://repository.collabsoft.net/external/xmlrpc/xmlrpc/2.0+xmlrpc61.1+sbfix/xmlrpc-2.0+xmlrpc61.1+sbfix.jar

Does not work, but

https://repository.collabsoft.net/external/xmlrpc/xmlrpc/2.0%2Bxmlrpc61.1%2Bsbfix/xmlrpc-2.0%2Bxmlrpc61.1%2Bsbfix.jar

Does work.

So the question now is, how do we get S3 to work with the + in the file name, or how do we tell maven to URL encode it

Ok, I was able to workaround this issue by adding the following step to our build process:

wget https://repository.collabsoft.net/external/xmlrpc/xmlrpc/2.0%2Bxmlrpc61.1%2Bsbfix/xmlrpc-2.0%2Bxmlrpc61.1%2Bsbfix.jar -O /tmp/xmlrpc-2.0+xmlrpc61.1+sbfix.jar;
/opt/atlassian-plugin-sdk/bin/atlas-mvn install:install-file -DgroupId=xmlrpc -DartifactId=xmlrpc -Dversion=2.0+xmlrpc61.1+sbfix -Dpackaging=jar -Dfile=/tmp/xmlrpc-2.0+xmlrpc61.1+sbfix.jar;

See succesful output here:
https://app.circleci.com/pipelines/github/collabsoft-net/atlassian-connect-polyfill/52/workflows/2f2b6d17-4e5e-47e5-b321-a84bb738ca1e/jobs/59

But it would be great if Atlassian fixes this issue by either doing something with their S3 configuration or by adding some documentation on how to enable URL encoding in Maven for dependency resolution from remote repositories (CC: @jrichards)

1 Like

While you are at it @jrichards, you may also want to fix the issue of

[WARNING] Could not validate integrity of download from https://packages.atlassian.com/artifactory/maven-atlassian-all/com/atlassian/platform/dependencies/platform-internal-api/maven-metadata.xml
org.eclipse.aether.transfer.ChecksumFailureException: Checksum validation failed, no checksums available

Basically, Atlassian should get her shit together with regard to dependency management, because this is becoming ridiculous.

This helped me fix my issue. And here I was thinking I broke the already fragile nature of the current 8.2.7 SDK. Thank you!!!

1 Like

They’ve fixed some of the checksum failures by now. At least, we’re able to download the jira-webapp with checksums again, still doesn’t work for another one:

08-Nov-2024 08:13:22	[ERROR] Failed to execute goal com.atlassian.maven.plugins:jira-maven-plugin:8.17.1:integration-test (default-integration-test) on project backbone-issue-sync: Unable to find/resolve artifact. The following artifacts could not be resolved: org.apache.tomcat:apache-tomcat:zip:windows-x64:9.0.95-atlassian-hosted (absent): Could not transfer artifact org.apache.tomcat:apache-tomcat:zip:windows-x64:9.0.95-atlassian-hosted from/to atlassian-public (https://maven.atlassian.com/repository/public): Checksum validation failed, no checksums available -> [Help 1]

And also still not for yours. :confused: I’ll report yours also in our ECOHELP ticket.

Will the 9 SDK continue to work if I need to build for confluence 7.x which we still need to support?

So… how DO I update? There is no Windows installer for SDK 9, and atlas-update also tries to update to 8.2.7.

Am I supposed to just use the tarball? Is there any reliable documentation out there?

1 Like

I feel you… we are just trying to roll out a bugfix release for an app. The fix is like 2 lines, but I’m fighting against this infrastructure mess for hours now.

It would be so nice to have a consistent development environment again - documentation that actually matches reality, repositories that are not constantly shifted around etc. I understand the need for change, but maybe can we be less proactive with breaking stuff until the new stuff actually works?

2 Likes

Hi @JasmineMller,

I’ll bring this up with the team. For now, please use the tarball via

James.

We had similar issues after updating SDK.

After creating a support ticket, the issue has been fixed by Atlassian. Guess they had some misconfiguration or hickups in there infrastructure. Sadly support didn’t provide any information about what was actually wrong.

Because the actual fix from Atlassian took some time, we used following settings.xml as a workaround

<settings>
    <profiles>
        <profile>
            <id>atlassian-proxy-alternative</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>atlassian-public</id>
                    <url>https://packages.atlassian.com/mvn/maven-external/</url>
                </repository>
                <repository>
                    <id>atlassian-plugin-sdk</id>
                    <url>file://${env.ATLAS_HOME}/repository</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>atlassian-public</id>
                    <url>https://packages.atlassian.com/mvn/maven-external/</url>
                </pluginRepository>
                <pluginRepository>
                    <id>atlassian-plugin-sdk</id>
                    <url>file://${env.ATLAS_HOME}/repository</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
</settings>

bitbucket-pipelines.yml for reference

image: eclipse-temurin:17-alpine

pipelines:
  default:
    - parallel:
      - step:
          name: Build and Test
          caches:
            - maven
          script:
            # Set ATLAS_VERSION
            - export ATLAS_VERSION=9.1.1
            # Set ATLAS_HOME
            - export ATLAS_HOME=/opt/atlassian-plugin-sdk-${ATLAS_VERSION}
            # Download Atlassian SDK
            - wget https://packages.atlassian.com/mvn/maven-external/com/atlassian/amps/atlassian-plugin-sdk/${ATLAS_VERSION}/atlassian-plugin-sdk-${ATLAS_VERSION}.tar.gz -O - | tar -C /opt -xvzf -
            # Build
            - ${ATLAS_HOME}/bin/atlas-mvn -s settings.xml -B clean deploy

Hi @JasmineMller,

I spoke with the team and the Windows installer isn’t being maintained any more. You can use the tarball to install the latest. You can also configure your local mvn to use the settings.xml as noted above, and then use just maven to do things like mvn run:jira etc.

Regards,
James.