Artifactory is pretty good too. There's also archiva. I found this link comparing them helpful.

http://docs.codehaus.org/display/MAVENUSER/Maven+Repository+Manager+Feature+Matrix

I went with Artifactory myself. But Nexus has been around a little longer and seems more popular with people that don't like to pay for software. Artifactory does have an open source option which I'm using, but some of their "cool" features are only in the pay-for-license version.

---- Cris J H

On 06/13/2014 11:21 AM, Eric Dalquist wrote:
Oh right, running a local Nexus instance as a proxy is very valuable.
Being able to always reproduce previous builds and insulating your build
process from external failures is quite valuable.


On Fri, Jun 13, 2014 at 11:09 AM, Cris J Holdorph <[email protected]
<mailto:[email protected]>> wrote:

    Well yes, that's all good and definitely encouraged for any maven
    project you are in control of.

    But I also think it's worth standing up an artifact repository at
    your own organization and having that 'mirror' every repository.  So
    that you actually don't go out and hit any repository directly
    yourself.  Instead you only hit your own artifact repository, and
    that repository in turn will hit the internet.  This is kind of the
    equivalent of fixing, at an organizational level the difference
    between a developer who has been around for a while and has a pretty
    full personal maven repo, and his builds work, and a new developer
    who has an empty personal maven repository and his build does not work.

    I'm NOT suggesting this is INSTEAD of putting things into central,
    but more of an additional thing an organization can do to help bring
    new developers on board.

    ---- Cris J H


    On 06/13/2014 11:01 AM, Andrew Petro wrote:

        Cris,

        True, dependencies in Central can have dependencies on external
        repos.

        But that is at least discouraged:

        
https://docs.sonatype.org/__display/Repository/Sonatype+__OSS+Maven+Repository+Usage+__Guide#__SonatypeOSSMavenRepositoryUsag__eGuide-6.__CentralSyncRequirement
        
<https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-6.CentralSyncRequirement>


        and in some happy future might even be enforced or at least mostly
        respected such that getting a dependency from Central is an
        indication
        that it doesn't have this problem.

        So, you're all right: getting the dependencies from Central doesn't
        solve all problems, but the more dependencies are entirely
        realizable
        via only-in-Central dependencies, the better.

        :)

        Kind regards,

        Andrew



        On 6/13/14, 12:54 PM, Cris J Holdorph wrote:

            It's not just a simple matter of putting YOUR dependencies into
            central and not putting repositories into YOUR pom files.  With
            transitive dependencies, ESPECIALLY specific versions, this
            can happen
            through a dependency that came in from a transitive dependency.

            Example:

               I specify I want to use "Foo" version "1.1".  At the time
            of my
            using it, it is in central, so I don't think anything more
            of it.

               I do not notice, but Foo version 1.1, uses "bar" 2.0.

               Bar 2.0 uses crud 3.0.

               crud 3.0 specifies a respository in it's pom.xml file to
            go get
            "blah" version 1.2.3 from some weird repo.

               Final result, my project is now dependent on some weird
            repo for
            version 1.2.3 of "blah".

            ---- Cris J H

            On 06/13/2014 09:57 AM, Eric Dalquist wrote:

                This highlights the very real danger of adding extra
                repositories. It
                may be more work up front to get all the deps you need
                into central but
                it is very much worth it long term to avoid this sort of
                dependency hell
                pain.


                On Fri, Jun 13, 2014 at 9:49 AM, Cris J Holdorph
                <[email protected] <mailto:[email protected]>
                <mailto:[email protected]
                <mailto:[email protected]>>> wrote:

                     This is probably not your problem, but I thought I
                would share some
                     recent experience with maven, repositories and
                dependency debugging.

                     I was trying to set up a local artifact repository
                to do mirroring
                     of maven dependencies.  This is useful for
                dependencies that are not
                     in central, that might disappear.

                     Anyway, to fully test my 'mirror' I started with an
                empty repository
                     and would try to build my projects.  I discovered a
                really
                     interesting situation.  Take a look at these two
                pom files from two
                     different maven repos.

                
http://repo1.maven.org/maven2/____commons-dbcp/commons-dbcp/1.__2.__2/commons-dbcp-1.2.2.pom
                
<http://repo1.maven.org/maven2/__commons-dbcp/commons-dbcp/1.2.__2/commons-dbcp-1.2.2.pom>

                
<http://repo1.maven.org/__maven2/commons-dbcp/commons-__dbcp/1.2.2/commons-dbcp-1.2.2.__pom
                
<http://repo1.maven.org/maven2/commons-dbcp/commons-dbcp/1.2.2/commons-dbcp-1.2.2.pom>>

                
http://jcenter.bintray.com/____commons-dbcp/commons-dbcp/1.2.____2/#commons-dbcp-1.2.2.pom
                
<http://jcenter.bintray.com/__commons-dbcp/commons-dbcp/1.2.__2/#commons-dbcp-1.2.2.pom>

                
<http://jcenter.bintray.com/__commons-dbcp/commons-dbcp/1.2.__2/#commons-dbcp-1.2.2.pom
                
<http://jcenter.bintray.com/commons-dbcp/commons-dbcp/1.2.2/#commons-dbcp-1.2.2.pom>>


                     Notice how the second one is different then the
                first.  I suspect
                     the second one must have been autogenerated.  In
                any case though, it
                     causes a really big problem if that is where the
                dependency gets
                     pulled down from.

                     So, my overall point is, when you're starting from
                an empty maven
                     repo, you can definitely get really weird and odd
                things happening.
                       It can be really hard to debug.  (in the above
                problem, it
                     'manifested' as a junit test failure about a
                missing class!)

                     ---- Cris J H

                     On 06/13/2014 09:37 AM, Drew Wills wrote:

                         Folks,

                         I'm encountering a new Maven dependency issue
                with echcache.  It
                         seems
                         to happen always (small sample size) on a
                machine that
                doesn't have
                         these artifacts cached in the local repo.

                         These items do seem to be in m2 central.  I'm
                not sure how
                Maven is
                         getting the 'null:ehcache-web:jar:null' (see
                below) but I
                         suspect it's a
                         factor in the issue.

                         drew

                         ---

                         BUILD FAILED
                /home/awills/Dropbox/Jasig/____portal/uPortal/build.xml:635:
                The
                         following
                         error occurred while executing this line:
                /home/awills/Dropbox/Jasig/____portal/uPortal/build.xml:1437:
                The
                         following
                         error occurred while executing this line:
                /home/awills/Dropbox/Jasig/____portal/uPortal/build.xml:1372:
                The
                         following
                         error occurred while executing this line:
                /home/awills/Dropbox/Jasig/____portal/uPortal/build.xml:1315:
                The
                         following
                         error occurred while executing this line:
                /home/awills/Dropbox/Jasig/____portal/uPortal/build.xml:1318:
                The
                         following
                         error occurred while executing this line:
                /home/awills/Dropbox/Jasig/____portal/uPortal/build.xml:1375:
                The
                         following
                         error occurred while executing this line:
                /home/awills/Dropbox/Jasig/____portal/uPortal/build.xml:1227:
                         Unable to
                         resolve artifact: Unable to get dependency
                information: Unable
                         to read
                         the metadata file for artifact
                         'net.sf.ehcache:ehcache-web:____jar': Cannot
                         find parent:
                net.sf.ehcache:ehcache-web-____parent for project:
                         null:ehcache-web:jar:null for project
                null:ehcache-web:jar:null
                             net.sf.ehcache:ehcache-web:____jar:2.0.4

                         from the specified remote repositories:
                             central (http://repo1.maven.org/__maven2__
                <http://repo1.maven.org/maven2__>),
                             sonatype-nexus-snapshots
                (https://oss.sonatype.org/____content/repositories/snapshots
                <https://oss.sonatype.org/__content/repositories/snapshots>
                <https://oss.sonatype.org/__content/repositories/snapshots
                <https://oss.sonatype.org/content/repositories/snapshots>__>__),
                             apache-snapshots
                (http://repository.apache.org/____snapshots
                <http://repository.apache.org/__snapshots>
                         <http://repository.apache.org/__snapshots
                <http://repository.apache.org/snapshots>>)

                         Path to dependency:
                               1)
                org.jasig.portal:uportal-war:____war:4.1.0-SNAPSHOT
                               2)
                
org.jasig.resourceserver:____resource-server-utils:jar:1.0.____38


                     --
                     You are currently subscribed to
                [email protected]
                <mailto:[email protected]>
                     <mailto:[email protected]__sig.org
                <mailto:[email protected]>> as:
                [email protected] <mailto:[email protected]>
                     <mailto:eric.apereo@dalquist.__org
                <mailto:[email protected]>>
                     To unsubscribe, change settings or access archives, see
                http://www.ja-sig.org/wiki/____display/JSG/uportal-dev
                <http://www.ja-sig.org/wiki/__display/JSG/uportal-dev>

                <http://www.ja-sig.org/wiki/__display/JSG/uportal-dev
                <http://www.ja-sig.org/wiki/display/JSG/uportal-dev>>


                --

                You are currently subscribed to
                [email protected]
                <mailto:[email protected]> as:
                [email protected] <mailto:[email protected]>
                To unsubscribe, change settings or access archives, see
                http://www.ja-sig.org/wiki/__display/JSG/uportal-dev
                <http://www.ja-sig.org/wiki/display/JSG/uportal-dev>





    --
    You are currently subscribed to [email protected]
    <mailto:[email protected]> as: [email protected]
    <mailto:[email protected]>
    To unsubscribe, change settings or access archives, see
    http://www.ja-sig.org/wiki/__display/JSG/uportal-dev
    <http://www.ja-sig.org/wiki/display/JSG/uportal-dev>


--

You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev


--
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

Reply via email to