We have set up an internal Maven Repository for our organisation so that the developers are not wasting time in searching and downloading the required project libraries. This also allows us to have a single company wide repository for project artifacts. The setup steps are not too much complicated but we didn't run into several issues while setup the local repository server (artifactory), for the first time.
When you're using maven at your company, you almost always want to setup local maven repository as relying on ibiblio for nightly / production builds is not a great idea and it takes time to download the library files if your development team is big. When setting up a local repository you don't want to setup the entire ibiblio repository locally as it is huge and has more libraries than you'll ever be using for your project. Maven-repository (in our case maven artifactory) is a repository server, which acts as your internal maven repository and downloads jars from ibiblio or other public maven repositories on demand and store it for further use in the project builds. And all this is transparent to the developer running a maven build.
The other neat thing about local maven-repository is
that it allows you to neatly separate and organize jars that might not be
available on ibiblio i.e. the 3rd-party artifacts (some company specific
shared library or a commercial library).
Software requirements to set up the maven repository:
- Artifactory: Download and install the artifactory from the site http://www.jfrog.org/sites/artifactory/latest/. Artifactory comes with the application that can be installed into Tomcat.
- JDK 1.6: Get the information for downloading and installation from the site http://www.jfrog.org/sites
/artifactory/latest/install ..html - Tomcat 6.0
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://artifactory.jfrog.org/xsd/1.0.0" xsi:schemaLocation="http://artifactory.jfrog.org/xsd/1.0.0 http://www.jfrog.org/xsd/artifactory-v1_0_0.xsd"> <!-- Backup every 12 hours --> <!--<backupCronExp>0 0 /12 * * ?</backupCronExp>--> <localRepositories> <localRepository> <key>private-internal-repository</key> <description>Private internal repository</description> <handleReleases>true</handleReleases> <handleSnapshots>true</handleSnapshots> </localRepository> <localRepository> <key>3rd-party</key> <description>3rd party jars added manually</description> <handleReleases>true</handleReleases> <handleSnapshots>false</handleSnapshots> </localRepository> </localRepositories> <remoteRepositories> <remoteRepository> <key>ibiblio</key> <handleReleases>true</handleReleases> <handleSnapshots>false</handleSnapshots> <excludesPattern>org/artifactory/**,org/jfrog/**</excludesPattern> <url>http://repo1.maven.org/maven2</url> <proxyRef>proxy1</proxyRef> </remoteRepository> <remoteRepository> <key>ibiblio.org</key> <description>ibiblio.org</description> <handleReleases>true</handleReleases> <handleSnapshots>false</handleSnapshots> <excludesPattern>org/artifactory/**</excludesPattern> <url>http://www.ibiblio.org/maven2</url> <proxyRef>proxy1</proxyRef> </remoteRepository> <remoteRepository> <key>java.net</key> <description>java.net</description> <handleReleases>true</handleReleases> <handleSnapshots>false</handleSnapshots> <excludesPattern>org/artifactory/**,org/jfrog/**</excludesPattern> <url>http://download.java.net/maven/2</url> <proxyRef>proxy1</proxyRef> </remoteRepository> </remoteRepositories> <proxies> <proxy> <key>proxy1</key> <host>192.168.10.80</host> <port>9090</port> <username></username> <password></password> <domain>192.168.10.80</domain> </proxy> </proxies> </config> |
At our end we are using squid proxy server to connect with the
internet. Our artifactory repository server will connect to internet
through squid proxy server running on the machine 192.168.10.80 at port
9090. You can also use artifactory server without proxy. We have made two
local and three remote repositories.
If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.
Ask your questions, our development team will try to give answers to your questions.
Ask Questions? Discuss: Learn to Set Up An Internal Private Repository For An Organization
Post your Comment