You can simplify the problem that you are having by making a module that includes the correct version of the third party modules and having your modules depend on that with a "provided" scope. This also makes all of your jars and wars a lot smaller since only one copy of each API is included in the whole project rather than having the code appear in every one of your modules that needs it.
This speeds your builds by a lot and save individual developers from having to think about the "correct" version of each library. They just include the aggregated libraries that they need. For example Apache Commons stuff would be supplied by your module com.example:myapachecommons:1.0-SNAPSHOT with scope provided.
http://blog.artifact-software.com/tech/?tag=maven might be a useful set of articles.
Ron On 04/01/2016 3:38 AM, Christofer Dutz wrote:
Hi, I am currently cleaning up in the dependencies of a quite big set of big projects. For this I am making a lot of use of dependency management. One thing I did come across quite a lot of times is this problem: Some libs reference undesired libs, mostly API libs (in most cases they reference artifacts that contain parts of some API packages). To prevent them from being used, we exclude them in the dependencyManagement section. Now the downside is that now the API packages are missing. In order to fix this, we now have to manually add dependencies to the API modules wherever the artifact is used. It would be cool, if there was not only an "exclusion" but also an "inclusion" mechanism in dependencyManagement, so we could actually manage situations like this. Is there a better way of resolving this type of problem? Would adding a feature like the "inclusions" to Maven be a good idea? If not, what are the problems with it? If yes, what can I do to help get it in (Would be glad to contribute something like this)? Chris
-- 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]
