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

Thanks Tom and Ed,

that clarifies this topic for me :-)

Is there any limitation to the type of entries, e.g. can I add a jar to it (similar to -cp in java?) or does it needs to be an exploded folder of class files like 'bin/' (I assume that absolute path would be ok as well).

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



Back to the top