libraries that split packages
Paul Benedict
pbenedict at apache.org
Tue Mar 22 21:35:28 UTC 2016
Split packages is an important testing feature; less so for production
code. Maven heavily relies on it for unit and integrating testing. Projects
need to be able to build modules, have other modules rely on them, but the
test cases need to "live" in the same packages (but different module) to
access private-package classes.
Cheers,
Paul
On Tue, Mar 22, 2016 at 3:58 PM, Nicolai Parlog <nipa at codefx.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA256
>
> Hi Paul,
>
> but they _do_ get the same class loader (unless you do something fancy).
>
> The problem is that split packages allow monkey patching and other
> undesired edge cases. That a module can not read two modules which
> export a split package is not an accident but a safety mechanism
> supporting reliable configuration.
>
> Then there is the fact that class loading encounters problems (what
> where they exactly?) when packages are split, which means that we get
> a different limitation "for free": no two modules loaded by the same
> class loader may split a package - exported or not.
>
> so long ... Nicolai
>
>
>
> On 22.03.2016 21:42, Paul Benedict wrote:
> > Regarding split packages, would an "easy" workaround be to
> > introduce a new command line option so that modules that share
> > packages get the same ClassLoader?
> >
> > Cheers, Paul
> >
> > On Tue, Mar 22, 2016 at 3:27 PM, Richard Opalka
> > <ropalka at redhat.com> wrote:
> >
> >> Hi Nicolai,
> >>
> >> some examples can be found here:
> >>
> >> https://issues.jboss.org/browse/WFLY-6375
> >>
> >> Any "Service Provider" based jar is a potential problem.
> >>
> >> Rio
> >>
> >>
> >> On 03/21/2016 06:39 PM, Nicolai Parlog wrote:
> >>
> >>> Hi!
> >>>
> >>> Are there any numbers on how severe the split package situation
> >>> is, i.e. how many libraries split packages with the JDK or
> >>> among themselves?
> >>>
> >>> I am also interested in concrete examples. I only know of
> >>> xml-apis[1] and FindBugs-JSR305[2] but I am sure many more
> >>> exist.
> >>>
> >>> Can anybody help me out?
> >>>
> >>> so long ... Nicolai
> >>>
> >>>
> >>> [1]
> >>> http://search.maven.org/#artifactdetails|xml-apis|xml-apis|2.0.2|jar
> >>>
> >>>
> [2] http://mvnrepository.com/artifact/com.google.code.findbugs/jsr305
> >>>
> >>
> >>
> >
>
> - --
>
> PGP Key:
> http://keys.gnupg.net/pks/lookup?op=vindex&search=0xCA3BAD2E9CCCD509
>
> Web:
> http://codefx.org
> a blog about software development
> http://do-foss.de
> Free and Open Source Software for the City of Dortmund
>
> Twitter:
> https://twitter.com/nipafx
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2
>
> iQIcBAEBCAAGBQJW8bISAAoJEMo7rS6czNUJVMQP/072wqyhGxJJMS81gJ9OgBfc
> KAvXRcrsD+DUxFPT74kdnQbxt6Vrh6nN9km61RWrxhiyMgh+MqLNHjpCnV4XOX2J
> wzsUM0ouPlw4tLHNbxJEqTVhUW5SJE95Wcsfi9+iFLZnJqqNdoNJNnrn2UZD97Fz
> maDeXtK2rKpsiv/WS0UiVT/Wp8Nhg0Cz0960UpLZOmXKbvAafixHBkxqwI9BTmmz
> SbJanSplENk+IPsdke4cE19Er/6xMobhAh0xqZ8di85UVZCgJrNIQmsn/xnQCdTb
> 02/221EzqYJUKyTwfjlwCNykFyzZSweODlrtiA8OpkieHd+r1JRFFxtqH1oNLIAP
> Hmulcpo4LbR38LHmVc1QQXAQoeJtUivulGFcS4YXXmDnqvtPAwUCt2lJfOgpyxJG
> 3i3eQ6IolRFeR27b0+dUeGUr8vYV/K1aCnehjdHt6DHsIyA8WeT68MJtSpr2LRuh
> FEjeoID8jDG4yKhCaVwsL2LKWeWqYCYYPVIT0gk8ay/iECumGj19U/i84o4dHJWD
> gWU+ld3IsRSgxERRBrf1EHPwIeUPh4aovgs46h2Uf91SGDK+ur0VjVF4DiutXh8U
> 0JfjeJXOtZqPveupCivyeiJAU5bbUwlYJGt0bBdDF6NlHSc67JGKvQc2BNk3JwVi
> lK76w/gqBs6pDO+E+ogq
> =6m1e
> -----END PGP SIGNATURE-----
>
>
More information about the jigsaw-dev
mailing list