The official repository location is http://repo1.maven.org/maven2/ ... check
out the hibernate data there (upgrade to at least maven 2.0.4).

Also: you must set up an in-house repository[1]. This is not really optional
for an enterprise setup... where else can you put your own generated
artifacts for all to use? If you find discrepencies in public repository
setups, having your own repository is the best way to control that (in which
case, yes, you may have to put a hand-written pom w/ real dependencies in
there). It's also necessary when you require the ability to share a
closed-source or licensed artifact through-out the org. Luckly the cases of
this in practice are kind of rare. Once your repo is up, you won't have to
touch it too often. Plus, think of Ant... you have to manually grab the
dependencies for those - so it's not like you're doing MORE work.

A good proxy (about 8 months old) is Proximity[2]. If you want something
sanctified by the Maven team, check out Archiva[3][4] (still in development,
but usable).

[1] http://www.devx.com/Java/Article/32386
[2] http://proximity.abstracthorizon.org/
[3] http://maven.apache.org/archiva/
[4] http://coderoshi.blogspot.com/2006/12/apache-archiva-part-one.html

Eric

On 1/30/07, Jarret R <[EMAIL PROTECTED]> wrote:

I have been trying to make a case for our development environment to
switch to using Maven for our build processes, however I am running
into some problems that I would like to see if anyone has answers too
:).

We want to be able to specify which version of which jar we want to
use. I can solve this by creating a maven proxy and an internal maven
repository, but this leads to my main problem.

Maven repositories are not consistent.

If I look at http://mirrors.ibiblio.org/pub/mirrors/maven2/, I can see
that under hibernate/hibernate the newest version listed is 3.1rc.
However this entry is invalid as it does not contain the dependencies.
This resource [http://mvnrepository.com/artifact/org.hibernate/hibernate]
specifies that 3.2.1ga is available. This is not obvious from looking
at Ibiblio, but when I put this entry into my pom, it almost downloads
(fails on a JTA dependency). What is the best way to determine what
jars are available in the repository?

The core issue is that this inconsistency is unacceptable for our
process. I need to be able to pick any version of a library (including
the newest) and have it 'just work'. How are others handling this? Are
you all writing your own poms for internal repositories? This seems
tedious since Hibernate can have 20+ dependencies that have to be hand
coded into the pom file. This problem also occurs for PostgreSQL since
the latest Maven definition I could find was for 7.x and we are on
8.1.

Another example is the Spring Framework. As far as I can tell, Spring is
in:

spring/
springframework/
org/spring
org.springframework/

and so on. Each of these directories contain different collections of
the spring jars. Why are there so many? What is the right one?

Can anyone shed some light on how to manage Maven in a corporate
environment where I need to be able to specify any version of any jar?


Thanks,
Jarret Raim

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Eric Redmond
http://codehaus.org/~eredmond

Reply via email to