We are using maven 3.0.3 and have problems using property values defined in
our local settings.xml for specifying systemPath values for system-scoped
dependencies. It seems this possibility has been removed in maven 3.

The system-scoped variable is necessary because we depend directly on a
third party application server jar file which now has hard coded dependency
jars listed in its MANIFEST. It is simply not practical to install these
(several dozen - perhaps hundreds) jars into our remote Maven repository.

The problem is serious because the pom files which use this system-scoped
dependency do not pass validation when parsed by the reactor, preventing
any transitive dependencies from being resolved in child projects. The
current workaround is to define these properties in our parent pom instead,
but this is not ideal since the values are environment-specific in nature
and should not be hard coded in the pom.

I wonder why this has changed in maven 3 and what then is the best practice
to handle a situation like ours (it must be a common scenario)?

As a side note we actually discovered this on computers running maven 2.2.1
but using m2eclipse. M2eclipse seems to use an embedded snapshot version of
maven 3  for its dependency resolution (we use m2eclipse
12.0.20101115-1102). It has worked perfectly for a long time but just
recently started to exhibit this behaviour. We don't really know what has
triggered this but we are guessing that m2eclipse perhaps updated itself
with a new snapshot version of maven 3 - not really sure have m2eclipse
works regarding this.

I appreciate any help,

/Bengt

Reply via email to