Use GitHub as Maven Artifactory in 2 Simple Steps

Managing maven artifactory is vital in most java/scala projects as there are many common dependent jars/components built across organization. To manage articatory there are few managed tools available in the market like jfrog, bintray etc. But these tools come with a cost.

But what if I tell you that we have a very easy solution to manage artifactory that-to with github, let’s get in depth.
To get clear understanding let’s call Common-project as “vanilla” and the consuming-project as “chocolate”

Step 1

1. Create repo on GitHub: https://github.com/vanilla/
2. vanilla project pom plugin should be like,

<groupId>vanilla</groupId>
<artifactId>vanilla</artifactId>
<version>0.1</version>
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-dependency-plugin</artifactId>
      <version>3.1.2</version>
      <executions>
        <execution>
          <id>copy-installed</id>
          <phase>install</phase>
          <goals>
            <goal>copy</goal>
          </goals>
          <configuration>
            <artifactItems>
              <artifactItem>
                <groupId>${groupId}</groupId>
                <artifactId>${artifactId}</artifactId>
                <version>${version}</version>
                <type>jar</type>
                <outputDirectory>${project.build.directory}/../${groupId}/${artifactId}/${version}/</outputDirectory>
              </artifactItem>
            </artifactItems>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

3. Once you build the project , the jar file will be in the location under ${project_directory}/vanilla/vanilla/0.1/vanilla-0.1.jar
4. Push the jar to github repo , make sure the jar is present as below, https://github.com/vanilla/blob/master/vanilla/vanilla/0.1/vanilla-0.1.jar

blog4-img1

Step 2

1. Add Repository in chocolate pom.xml.

<repositories>
  <repository>
    <id>vanilla-common</id>
    <name>vanilla Common</name>
  </repository>
</repositories>

2. Add dependency to your chocolate pom.xml file:

<dependency>
  <groupId>vanilla</groupId>
  <artifactId>vanilla</artifactId>
  <version>0.1</version>
</dependency>

All Set !!!!!!

Looking for Data solutions for your business? We can help. Reach out at Contact@eucloid.com

Posted on : April 26, 2022

Category : Data Engineering

Tags : GitHub Maven Artifactory Dependency Management Cost-Effective Java Scala GitHub Repository Data Solutions Business Solutions GitHub Management Project Management

About the Authors

Author
Raghvendra Kushwah

The author is a CEO and Co-Founder in Eucloid. For any queries, reach out to us at: contact@eucloid.com

LinkedIn LinkedIn