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

> But I imagine you must be  seeing some issue otherwise
> I doubt you would be asking

Yeah but I would make sure that the issue is on my code an not something intrinsic e.g. that jars are simply not supported.

So thanks for clarification and I can now better narrow down where things are going wrong :-)

Am 20.04.21 um 16:59 schrieb Thomas Watson:
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>
> <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>
     >     <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
    <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
    <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