{"id":23124,"date":"2021-08-10T07:01:15","date_gmt":"2021-08-10T07:01:15","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=23124"},"modified":"2025-07-30T06:50:26","modified_gmt":"2025-07-30T06:50:26","slug":"how-to-upload-a-package-using-maven-in-artifactory","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/how-to-upload-a-package-using-maven-in-artifactory\/","title":{"rendered":"How to Upload a package using Maven in Artifactory?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Prerequisite#1 &#8211; JAVA<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-devopsschool-com wp-block-embed-devopsschool-com\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"w8DsY5XxgW\"><a href=\"https:\/\/www.devopsschool.com\/blog\/complete-guide-of-java-installation-in-linux\/\">Java Installation Guide in Linux &#038; Windows<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;Java Installation Guide in Linux &#038; Windows&#8221; &#8212; \" src=\"https:\/\/www.devopsschool.com\/blog\/complete-guide-of-java-installation-in-linux\/embed\/#?secret=PQRxPrb3pC#?secret=w8DsY5XxgW\" data-secret=\"w8DsY5XxgW\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisite#2 &#8211; Artifactory<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-devopsschool-com wp-block-embed-devopsschool-com\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"QON6NXNF4r\"><a href=\"https:\/\/www.devopsschool.com\/blog\/artifactory-install-and-configurations-guide\/\">Artifactory Install and Configurations Guide<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;Artifactory Install and Configurations Guide&#8221; &#8212; \" src=\"https:\/\/www.devopsschool.com\/blog\/artifactory-install-and-configurations-guide\/embed\/#?secret=LnjTGmhGmy#?secret=QON6NXNF4r\" data-secret=\"QON6NXNF4r\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"> Prerequisite#3 &#8211; Maven<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-devopsschool-com wp-block-embed-devopsschool-com\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"9DYXNyvRx6\"><a href=\"https:\/\/www.devopsschool.com\/blog\/how-to-install-configure-maven\/\">How to install &#038; configure Maven<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;How to install &#038; configure Maven&#8221; &#8212; \" src=\"https:\/\/www.devopsschool.com\/blog\/how-to-install-configure-maven\/embed\/#?secret=ilPMxOTMRj#?secret=9DYXNyvRx6\" data-secret=\"9DYXNyvRx6\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">  Prerequisite#3 &#8211; How to work with Artifactory aka Artifactory Workflow<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-devops-devsecops-sre-dataops-aiops wp-block-embed-devops-devsecops-sre-dataops-aiops\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"ve7ywI7a0T\"><a href=\"https:\/\/www.bestdevops.com\/how-to-work-with-artifactory-aka-artifactory-workflow\/\" target=\"_blank\" rel=\"noopener\">How to work with Artifactory aka Artifactory Workflow<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;How to work with Artifactory aka Artifactory Workflow&#8221; &#8212; Best DevOps\" src=\"https:\/\/www.bestdevops.com\/how-to-work-with-artifactory-aka-artifactory-workflow\/embed\/#?secret=OZ7O1274H2#?secret=ve7ywI7a0T\" data-secret=\"ve7ywI7a0T\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">Step 1 &#8211; Create a empty directory and get inside it<\/h1>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ cd \/opt\/\n$ yum install tree -y\n$ mkdir myjava\n$ cd myajava<\/code><\/span><\/pre>\n\n\n<h1 class=\"wp-block-heading\">Step 2 &#8211; Create a Sample Maven &#8211; Java Project &amp; Go inside it<\/h1>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\">$ mvn archetype:generate -DgroupId=com.devopsschool.software -DartifactId=chat -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=<span class=\"hljs-literal\">false<\/span>\n$ cd chat\n$ tree<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h1 class=\"wp-block-heading\">Step 3 &#8211; Understand Maven and POM.xml<\/h1>\n\n\n\n<h1 class=\"wp-block-heading\">Step 4 &#8211; Do a test Compile &#8211; test &#8211; Package<\/h1>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ mvn compile\n$ mvn test\n$ mvn package<\/code><\/span><\/pre>\n\n\n<h1 class=\"wp-block-heading\">Step 5 &#8211; Modify pom.xml of maven project with a repository of artifcatory<\/h1>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"961\" height=\"516\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/artifactory-maven-setting-deploy.jpg\" alt=\"\" class=\"wp-image-23140\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/artifactory-maven-setting-deploy.jpg 961w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/artifactory-maven-setting-deploy-300x161.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/artifactory-maven-setting-deploy-768x412.jpg 768w\" sizes=\"auto, (max-width: 961px) 100vw, 961px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">maven element &#8211; distributionManagement<\/h1>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\"><span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">distributionManagement<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">repository<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">id<\/span>&gt;<\/span>devopsschool<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">id<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">name<\/span>&gt;<\/span>localhost.localdomain-releases<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">name<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">url<\/span>&gt;<\/span>http:\/\/192.168.3.61:8081\/artifactory\/devopsschool-local-release<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">url<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">repository<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">snapshotRepository<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">id<\/span>&gt;<\/span>devopsschool<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">id<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">name<\/span>&gt;<\/span>localhost.localdomain-snapshots<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">name<\/span>&gt;<\/span>\n        <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">url<\/span>&gt;<\/span>http:\/\/192.168.3.61:8081\/artifactory\/devopsschool-local-snapshot<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">url<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">snapshotRepository<\/span>&gt;<\/span>\n<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">distributionManagement<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"848\" height=\"569\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/example-of-pom.xml-artifactory.jpg\" alt=\"\" class=\"wp-image-23142\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/example-of-pom.xml-artifactory.jpg 848w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/example-of-pom.xml-artifactory-300x201.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/example-of-pom.xml-artifactory-768x515.jpg 768w\" sizes=\"auto, (max-width: 848px) 100vw, 848px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Step 6 &#8211; Modify settings.xml of maven config with a access of artifcatory<\/h1>\n\n\n\n<h3 class=\"wp-block-heading\">1. Add following code into setting.xml under &#8220;servers&#8221; element of settings.xml<\/h3>\n\n\n\n<h3 class=\"wp-block-heading\">2. Make sure that &#8220;id&#8221; of server element in settings.xml MUST match with repository\/snapshotRepository id of pom.xml<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-3\" data-shcb-language-name=\"HTML, XML\" data-shcb-language-slug=\"xml\"><span><code class=\"hljs language-xml\">$ vi \/opt\/apache-maven-3.8.1\/conf\/settings.xml\n\n    <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">server<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">username<\/span>&gt;<\/span>deploy<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">username<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">password<\/span>&gt;<\/span>Deploy123<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">password<\/span>&gt;<\/span>\n      <span class=\"hljs-tag\">&lt;<span class=\"hljs-name\">id<\/span>&gt;<\/span>devopsschool<span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">id<\/span>&gt;<\/span>\n    <span class=\"hljs-tag\">&lt;\/<span class=\"hljs-name\">server<\/span>&gt;<\/span><\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-3\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">HTML, XML<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">xml<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"343\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-10-1024x343.png\" alt=\"\" class=\"wp-image-36342\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-10-1024x343.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-10-300x101.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-10-768x258.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-10-1536x515.png 1536w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2023\/07\/image-10.png 1834w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>ELEMENT ID in Settings.xml and pom.xml MUST Match<\/strong><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Step 7 &#8211; Run a maven command to deploy a package to artifcatory repo.<\/h1>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ mvn deploy<\/code><\/span><\/pre>\n\n\n<h1 class=\"wp-block-heading\">Step 8 &#8211; Modify pom.xml of maven project and Make sure version is released.<\/h1>\n\n\n<pre class=\"wp-block-code\"><span><code class=\"hljs\">$ mvn deploy<\/code><\/span><\/pre>\n\n\n<h1 class=\"wp-block-heading\">Step 9 &#8211; Verify BOTH(Snapshot) &amp; Release in Artifactory<\/h1>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"852\" height=\"508\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/artifactory-repo-maven-deploy.jpg\" alt=\"\" class=\"wp-image-23134\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/artifactory-repo-maven-deploy.jpg 852w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/artifactory-repo-maven-deploy-300x179.jpg 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2021\/08\/artifactory-repo-maven-deploy-768x458.jpg 768w\" sizes=\"auto, (max-width: 852px) 100vw, 852px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Demo Repo &#8211; https:\/\/github.com\/devopsschool-demo-labs-projects\/helloworld-java-maven<\/h1>\n\n\n<div class=\"epyt-gallery\" data-currpage=\"1\" id=\"epyt_gallery_34650\"><figure class=\"wp-block-embed wp-block-embed-youtube is-type-video is-provider-youtube epyt-figure\"><div class=\"wp-block-embed__wrapper\"><iframe loading=\"lazy\"  id=\"_ytid_67686\"  width=\"760\" height=\"427\"  data-origwidth=\"760\" data-origheight=\"427\" src=\"https:\/\/www.youtube.com\/embed\/?enablejsapi=1&#038;autoplay=0&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=0&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  no-lazyload\" title=\"YouTube player\"  data-epytgalleryid=\"epyt_gallery_34650\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe><\/div><\/figure><div class=\"epyt-gallery-list\"><div>Sorry, there was a YouTube error.<\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Prerequisite#1 &#8211; JAVA Prerequisite#2 &#8211; Artifactory Prerequisite#3 &#8211; Maven Prerequisite#3 &#8211; How to work with Artifactory aka Artifactory Workflow Step 1 &#8211; Create a empty directory and get inside it Step 2 &#8211; Create a Sample Maven &#8211; Java Project &amp; Go inside it Step 3 &#8211; Understand Maven and POM.xml Step 4 &#8211; Do&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_joinchat":[],"footnotes":""},"categories":[4879],"tags":[],"class_list":["post-23124","post","type-post","status-publish","format-standard","hentry","category-artifactory"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/23124","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=23124"}],"version-history":[{"count":9,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/23124\/revisions"}],"predecessor-version":[{"id":36344,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/23124\/revisions\/36344"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=23124"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=23124"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=23124"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}