How are you launching equinox?  Are you certain the config.ini is getting
read?  Try using a VM option to be sure
(-Dosgi.compatibility.bootdelegation=true).  This option is set to true by
default when launched with the equinox launcher
(org.eclipse.equinox.launcher).  But it is set to false when using the OSGi
launching API (org.osgi.framework.launch) or just using  "java -jar
org.eclipse.osgi.jar".  See
https://bugs.eclipse.org/bugs/show_bug.cgi?id=178477

Tom




                                                                       
  From:       "." <[email protected]>                     
                                                                       
  To:         Equinox development mailing list <[email protected]>,
                                                                       
  Date:       06/23/2012 02:12 PM                                      
                                                                       
  Subject:    Re: [equinox-dev] Some Packages must be imported outside of 
Eclipse
                                                                       





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



      Inactive hide details for BJ Hargrave---06/20/2012
          04:17:10
      PM---This is why you should use something like
          bndtools to
      make youBJ 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
                                                                       
                                                                       
       From:    BJ Hargrave/Austin/IBM@IBMUS                           
                                                                       
                                                                       
       To:      Equinox development mailing list <[email protected]>
                ,                                                      
                                                                       
                                                                       
       Date:    06/20/2012 04:17 PM                                    
                                                                       
                                                                       
       Subject: 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.

      --



       BJ Hargrave
       Senior Technical      office: +1 386 848
       Staff Member, IBM                   1781
       OSGi Fellow and CTO   mobile: +1 386 848
       of the OSGi Alliance                3788
       [email protected]









      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

<<inline: graycol.gif>>

<<inline: ecblank.gif>>

_______________________________________________
equinox-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to