Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I'm not sure if I fully understand what you are asking, I first thought that you were unsure how to manage dependencies which are not available in a versioned manner, if so:</p> <p>You already mentioned OSGi, you may want to consider running your own maven repository using <a href="http://nexus.sonatype.org/" rel="nofollow noreferrer">Nexus</a> which would allow you to version unversioned jars yourself.</p> <p>Without wishing to state the obvious, you can't use a specific version of something that doesn't have versions...</p> <p>But on re-reading your question it sounds like you may be asking whether its better to have explicit dependencies for each of your application or some shared set of dependencies which are updated on the fly, pushing changes to all of your apps. I would say the following:</p> <ul> <li>You want repeatable builds, which means you need to know when you build an application which version of dependent libraries it used</li> <li>You want to ensure that all projects pick up latest version of dependencies when next built</li> </ul> <p>You can use the Maven <a href="http://mojo.codehaus.org/versions-maven-plugin/" rel="nofollow noreferrer">versions plugin</a> to manage this kind of thing, we have a parent pom defining versions of all libs in the <code>dependencyManagement</code> section and run a script against this every 5 minutes to look for updated dependencies. Whenever the parent pom changes all child pom's are updated and checked into source control, which means that once a new shared lib is released, we will try and build and then unit test all our apps.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload