Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Imagine that <code>lib-a</code> contains a method <code>m</code> that takes an argument of type <code>x</code> that is defined in <code>core</code>. If the application calls <code>m</code> it would use <code>core-1.2</code>'s version of type <code>x</code>, while the method <code>m</code> is designed to receive <code>core-1.1</code>'s version of type <code>x</code>. Depending on the changes to <code>x</code> between <code>core-1.1</code> and <code>core-1.2</code> this may be sufficiently incompatible to not work.</p> <p>What you describe is a common struggle within Maven. And I can only imagine that without Maven the struggle is the same, as it is an inherent problem with what you're trying to do. Without proper dependency management the results may actually be more sneaky and subtle -- even though Maven's almost silent debug log statement isn't too explicit either. (You could build stronger checks into your Maven lifecycle, though.)</p> <p>There is many useful open source libraries that depend on other open source libraries which you in turn also want to depend on yourself, hence giving you the same problem, or at least the same responsibility to make sure it's all using the same libraries or otherwise make sure that it happily works together.</p> <p>Maven lets you use the "wrong" version of a dependency (whatever that means), but it won't let you use two different versions of the same dependency.</p> <p>Bottom line, rethink what you are doing here, as you're headed to getting burned. One way to rethink may be to split up <code>core</code> such that you don't (or less often) need to re-release <code>lib-a</code> when there's changes to (what you currently call) <code>core</code> that are only for the benefit of the dependent application.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

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