Hello Tom,
Eclipse
is launched with a backwards compatibility flag that is
allowing your bundles to load classes from the packages
provided by the VM (osgi.compatibility.bootdelegation=true).
When you launch equinox "outside of eclipse" this option is
not set by default.
I added osgi.compatibility.bootdelegation=true to the config.ini
in the configuration directory and the packages are still not
available. E.g. I get a Class Not Found Exception in a bundle that
uses QName when javax.xml.namespace is not imported.
Moreover, according to this site http://help.eclipse.org/help32/topic/org.eclipse.platform.doc.isv/reference/misc/runtime-options.html
osgi.compatibility.bootdelegation is set to true by default, so
this should also applies to "outside of Eclipse".
PDE also
has tools for generating your import statements.
I only know the "Automated Management of Dependencies" (AMD)
function (section) in die bundle manifest editor. Are more tools
available in the PDE?
Rene
-------- Original Message --------
Subject: Re: [equinox-dev] Some Packages must be imported outside
of Eclipse
From: Thomas Watson <[email protected]>
To: Equinox development mailing list
<[email protected]>
Date: Thu Jun 21 2012 15:01:24 GMT+0200
PDE also has tools for
generating your import statements. Eclipse is launched with a
backwards compatibility flag that is allowing your bundles to
load classes from the packages provided by the VM
(osgi.compatibility.bootdelegation=true). When you launch
equinox "outside of eclipse" this option is not set by
default.
Tom
BJ
Hargrave---06/20/2012 04:17:10 PM---This is why you should use
something like bndtools to make your bundles. Hand editing
your manifest's package statements is not

|

BJ
Hargrave/Austin/IBM@IBMUS |

|

Equinox development
mailing list <[email protected]>, |

|

06/20/2012 04:17 PM |

|

Re: [equinox-dev] Some
Packages must be imported outside of Eclipse |
This is why you should use
something like bndtools to make your bundles. Hand editing your
manifest's package statements is not a good idea.
--
|
|
office: +1 386 848 1781
mobile: +1 386 848 3788
|
From: "."
<[email protected]>
To: Equinox
development mailing list <[email protected]>,
Date: 2012/06/20
17:10
Subject: Re:
[equinox-dev] Some Packages must be imported outside of
Eclipse
Sent by: [email protected]
Hello Richard,
thanks for your answer.
If it's not recommend to change the property to make packages
like
javax.* directly available: Is it possible in Eclipse to
automatically
import such packages when I use classes from them? I want to
avoid the
effort to manually check all my classes for imports from
everything
except java.* and manually adding these packages to the bundle
manifest
before I export the bundle as JAR.
Regards,
Rene
-------- Original Message --------
Subject: Re: [equinox-dev] Some Packages must be imported
outside of Eclipse
From: Richard S. Hall <[email protected]>
To: Equinox development mailing list
<[email protected]>
Date: Wed Jun 20 2012 22:26:55 GMT+0200
> On 6/20/12 16:17 , . wrote:
>> Hello,
>>
>> if I start a OSGi bundle in Eclipse (Equinox) not
only java.*, but
>> also packages like javax.* are directly available and
therefore must
>> be not imported in the bundle manifest.
>
> I would expect that you can import the javax.* packages,
but you are
> correct that you shouldn't/can't import the java.*
packages.
>
>> In contrast, when I run a bundle outside of Eclipse
(also in Equinox;
>> with startup.bat/startup.sh and config.ini) all used
packages except
>> java.* MUST be imported, otherwise it results to
Class Not Found
>> Exceptions.
>>
>> What is the reason why e.g. javax.* are not available
outside of
>> Eclipse without importing them? Is it possible, e.g.
with a parameter
>> in the config.ini, to make these packages directly
available or in
>> other words create the same runtime environment like
in Eclipse?
>
> The reason is historical, I'd guess.
>
> You can configure this via the
org.osgi.framework.bootdelegation
> framework configuration property, but I'd recommend
against doing so.
> Double check, but I'd expect that you can import the
javax.* packages
> in Equinox when running in Eclipse...you should always
import
> everything except java.* packages...
>
> -> richard
>
>>
>> Thanks in advance!
>>
>> Regards,
>> Rene
>> _______________________________________________
>> equinox-dev mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>
>
> _______________________________________________
> equinox-dev mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/equinox-dev
>
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev
|
_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev