# Migration from Jfrog antifactory to Nexus OSS

**URL:** <https://community.sonatype.com/t/migration-from-jfrog-antifactory-to-nexus-oss/12474>\
**Category:** Sonatype Nexus Repository\
**Tags:** help\
**Created:** [April 25, 2024, 5:01am UTC](https://community.sonatype.com/t/migration-from-jfrog-antifactory-to-nexus-oss/12474 "2024-04-25T05:01:51Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sameer29nov](https://avatars.discourse-cdn.com/v4/letter/s/e274bd/32.png) [@sameer29nov](https://community.sonatype.com/u/sameer29nov)\
**Post date:** [April 25, 2024, 5:01am UTC](https://community.sonatype.com/t/migration-from-jfrog-antifactory-to-nexus-oss/12474/1 "2024-04-25T05:01:53Z")

</div>

Hello There,

Has anyone did data migration from Jfrog Artifactory to Nexus Repository Manager OSS , if yes please guide.

We have also raised same concern to Jfrog support,

Regards,  
SAM

---

<div class="post-metadata">

**Author:** ![sprior](https://avatars.discourse-cdn.com/v4/letter/s/f08c70/32.png) [@sprior](https://community.sonatype.com/u/sprior)\
**Post date:** [May 6, 2024, 12:08am UTC](https://community.sonatype.com/t/migration-from-jfrog-antifactory-to-nexus-oss/12474/2 "2024-05-06T00:08:58Z")

</div>

I started looking at this a couple of weeks ago. The good news is that Artifactory has an export function which makes it easy to create a directory of all the artifacts you had there. The bad news is that Nexus considers bulk import to be a Pro feature not available in the OSS version ARGH!

So it appears the only way forward would be to do the export and then cook up a script to upload the artifacts to Nexus one at a time. The other thing which Nexus considers a Pro feature is creating API access keys, so any uploads you’re going to do with Nexus are going to use plain text userids/passwords. If I’m wrong about that (and I’d LOVE to be) someone please correct me, but I don’t think I am.

What I’ve discovered so far about uploading an artifact with curl and using base64 for the credentials is:

- base64 is NOT any kind of security, just a trivial layer of obfuscation
- echo -n “userid:password” | base64
- curl -v -H “Authorization: Basic ” --upload-file \<filename.jar\> http://your\_nexus\_url/repository/\< repository\_name \>/\< org \>/\< artifact id \>/\< version \>/\< filename.jar \>
- note that this does NOT generate a pom.xml - I’m still trying to figure out that part

---

<div class="post-metadata">

**Author:** ![mpiggott](https://avatars.discourse-cdn.com/v4/letter/m/f0a364/32.png) [@mpiggott](https://community.sonatype.com/u/mpiggott)\
**Post date:** [May 6, 2024, 1:48pm UTC](https://community.sonatype.com/t/migration-from-jfrog-antifactory-to-nexus-oss/12474/3 "2024-05-06T13:48:07Z")

</div>

Base64 encoding is the standard for basic auth, curl allows you to use `-u` [curl - The Art Of Scripting HTTP Requests Using Curl](https://curl.se/docs/httpscripting.html)

There is a Upload Component which is part of the API which allows generating a POM, if you have the option you should use the original though as this will not include dependency information.
