Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Classloader precedence of osgi.dev entries

This should work for dev classpath loading.  But I imagine you must be seeing some issue otherwise I doubt you would be asking.  Are you seeing an issue?

Tom
 
 
 
----- Original message -----
From: "Christoph Läubrich" <laeubi@xxxxxxxxxxxxxx>
Sent by: "equinox-dev" <equinox-dev-bounces@xxxxxxxxxxx>
To: equinox-dev@xxxxxxxxxxx
Cc:
Subject: [EXTERNAL] Re: [equinox-dev] Classloader precedence of osgi.dev entries
Date: Tue, Apr 20, 2021 1:56 AM
 
Just to give a more explicit example:

if i have

my.bundle=/tmp/test/target/classes,/tmp/test/target/test-classes,/tmp/testorg.junit-4.13.0.v20200204-1500.jar,/tmp/test/org.hamcrest.core-1.3.0.v20180420-1519.jar

should this work or do I need to explode the jar files into a folder?


Am 12.04.21 um 16:17 schrieb Thomas Watson:
> The dev class path entries are prepended to the value of the
> Bundle-ClassPath header value. Normal delegation rules apply for the dev
> class path as if they are part of the bundle's Bundle-ClassPath.  That
> roughly is the following:
>
> 1) Import-Package wires, if package is imported the search terminates at
> the provider of the import-package wire and the delegation stops.
> 2) Require-Bundle wires, each wire is check in order the bundle is
> required until a class/resource is found.  If none found move to next step.
> 3) Bundles class path is checked, this includes the dev class path
> elements if they are specified.  It also checks attached fragments class
> path elements. If nothing is found in all the available class path
> elements, move on to next step
> 4) If dynamic import is specified check if a dynamic resolution can find
> an import wire.  If so delegate to the new import wire, this import wire
> is then used for all other loads from the package.  If nothing is found
> the the class/resource is not found and applicable exception is thrown.
>
> Tom
>
>     ----- Original message -----
>     From: "Christoph Läubrich" <laeubi@xxxxxxxxxxxxxx>
>     Sent by: "equinox-dev" <equinox-dev-bounces@xxxxxxxxxxx>
>     To: equinox-dev@xxxxxxxxxxx
>     Cc:
>     Subject: [EXTERNAL] [equinox-dev] Classloader precedence of osgi.dev
>     entries
>     Date: Sun, Apr 11, 2021 8:56 AM
>     The property osgi.dev is described as [1]:
>
>       > This property may also be set to a comma-separated class path
>     entries
>       > which are added to the class path of each plug-in
>
>     But how is it applied? Is it used as a last resort if all other options
>     (import-package, require-bundle, fragments, Dynamic-Import package) are
>     searched and nothing was found?
>
>
>     [1]
>     https://help.eclipse.org/2021-03/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html&anchor=osgidev
>     <https://help.eclipse.org/2021-03/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html&anchor=osgidev>
>     _______________________________________________
>     equinox-dev mailing list
>     equinox-dev@xxxxxxxxxxx
>     To unsubscribe from this list, visit
>     https://www.eclipse.org/mailman/listinfo/equinox-dev
>     <https://www.eclipse.org/mailman/listinfo/equinox-dev>
>
>
>
> _______________________________________________
> equinox-dev mailing list
> equinox-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/equinox-dev
>
_______________________________________________
equinox-dev mailing list
equinox-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/equinox-dev
 


Back to the top