You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See #9128 (comment) (second paragraph) for the original discussion.
In short: the runtime classpath should have application classes from BOOT-INF/classes before libraries taken from BOOT-INF/lib. This would match the observed behaviour of Eclipse, Maven, Surefire, etc.
The current implementation of the Repackager respects that order but without any guarantee: it is more because of the current implementation rather than by specification. There is also no test case to assert this order is respected.
The text was updated successfully, but these errors were encountered:
Previously, the ordering of the entries in an archive produced by
BootJar was different to the ordering of the entries in an archive
produced by BootWar. The latter placed application classes before
any nested jars, whereas the former was the other way around.
This commit updates BootJar to use the same ordering as BootWar and
adds tests to verify that the ordering is the following:
1. Loader classes
2. Application classes (BOOT-INF/classes or WEB-INF/classes)
3. Nested jars (BOOT-INF/lib or WEB-INF/lib)
4. Provided nested jars in a war (WEB-INF/lib-provided)
The tests also verify that the position of a library is not affected
by it requiring unpacking.
See gh-11695
See gh-11696
Previously, the order of the entries in a TestJarFile was determined
by the underlying file system rather than by the order in which
they were added. This could lead to unpredicatable ordering and
failures in tests that verify archive entry ordering.
This commit updates TestJarFile to add entries to the archive in
insertion order.
See gh-11695
See gh-11696
See #9128 (comment) (second paragraph) for the original discussion.
In short: the runtime classpath should have application classes from
BOOT-INF/classes
before libraries taken fromBOOT-INF/lib
. This would match the observed behaviour of Eclipse, Maven, Surefire, etc.The current implementation of the
Repackager
respects that order but without any guarantee: it is more because of the current implementation rather than by specification. There is also no test case to assert this order is respected.The text was updated successfully, but these errors were encountered: