On 31/10/2011 3:39 PM, Gustavo Pollitzer wrote:
Ron said:

*If a JAR does not contain all of the dependencies that it needs, a
person using that JAR must have some way to know what is missing and what
version is required.
They will only find out at run-time that this jar depends on a missing
dependency when the loader crashes.
The documentation of the utility will have to have big red sentences
describing each of the missing dependencies.
This will make it much harder for the IDE to help the programmer. Now the
IDE can detect version conflicts based on references in the POM and can let
the developer resolve them.*

I never said to skip the provided dependencies at all. What I suggested was
to remove the 'provided' option from the<scope>  element in order to limit
the POM creator to specify the requirements of the artifact only, and not
hints of how his artifact and its dependencies are going to be assembled or
deployed. Instead of 'provided' he has to use 'compile' or 'runtime'. This
way the POM will contain all the necessary information needed but no more.
Who determines what to assembly and/or how to deploy should be entirely the
assembly module (the one with EAR packaging type by example). There is
where the decisions on what to include in the assembly and how to deploy
must be taken, and not before.

I understand your proposal. I am just not sure that you will not find out that this creates a whole new set of problems.

You have to remember that this is version 3 of Maven and it is used by thousands of people to develop many different sorts of applications. The problem that you are addressing has been solved hundreds of times by Maven users producing EAR packages.

We just produce JARs and WARs in our application but the transitive dependency version problem and assembly construction issues are the same.

Ron

--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to