[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] [p2 director] Third party package bombs on "javax.crypto" package dependency

Check your repository's content.xml/.jar for an `a.jre.javase` IU.  That normally specifies the expectation of the installation environment.  I think Tycho selects the minimum IU that satisfies the BREEs of the built artifacts.  In one of my projects, all of which specify a BREE of JavaSE-1.7, my repo has:

    <unit id='a.jre.javase' version='1.7.0' singleton='false'>
      <provides size='174'>
        <provided namespace='org.eclipse.equinox.p2.iu' name='a.jre.javase' version='1.7.0'/>
        <provided namespace='java.package' name='javax.accessibility' version='0.0.0'/>
        <provided namespace='java.package' name='javax.activation' version='0.0.0'/>
        <provided namespace='java.package' name='javax.activity' version='0.0.0'/>
        <provided namespace='java.package' name='javax.annotation' version='0.0.0'/>
        <provided namespace='java.package' name='javax.annotation.processing' version='0.0.0'/>
        <provided namespace='java.package' name='javax.crypto' version='0.0.0'/>
        <provided namespace='osgi.ee' name='OSGi/Minimum' version='1.0.0'/>
        <provided namespace='osgi.ee' name='OSGi/Minimum' version='1.1.0'/>
        <provided namespace='osgi.ee' name='OSGi/Minimum' version='1.2.0'/>
        <provided namespace='osgi.ee' name='JRE' version='1.0.0'/>
        <provided namespace='osgi.ee' name='JRE' version='1.1.0'/>
        <provided namespace='osgi.ee' name='JavaSE' version='1.0.0'/>
        <provided namespace='osgi.ee' name='JavaSE' version='1.1.0'/>
        <provided namespace='osgi.ee' name='JavaSE' version='1.2.0'/>
        <provided namespace='osgi.ee' name='JavaSE' version='1.3.0'/>
        <provided namespace='osgi.ee' name='JavaSE' version='1.4.0'/>
        <provided namespace='osgi.ee' name='JavaSE' version='1.5.0'/>
        <provided namespace='osgi.ee' name='JavaSE' version='1.6.0'/>
        <provided namespace='osgi.ee' name='JavaSE' version='1.7.0'/>
      <touchpoint id='org.eclipse.equinox.p2.native' version='1.0.0'/>

On 29-Jun-2017, at 9:23 PM, Alex Karasulu <alex.karasulu@xxxxxxxxx> wrote:


I'm using p2 director to provision a feature into CDT Neon 3 Linux 64-bit without running the target application on a Mac OS X host with Oracle JDK 1.8.0_131_b11. One of the 3rd party bundles I'm using in the feature is causing the following error message due to a missing "javax.crypto" bundle dependency which should be present in JDK 1.7 and above:


Cannot complete the install because one or more required items could not be found.

 Software being installed: Feature (org.xxxxx.studio.feature.feature.group

 Missing requirement: Netty/Handler 4.1.11.Final (io.netty.handler 4.1.11.Final) requires 'package javax.crypto 0.0.0' but it could not be found

 Cannot satisfy dependency:

  From: Feature (org.xxxxx.studio.feature.feature.group

  To: io.netty.handler [4.1.11.Final]

Application failed, log file location: .../eclipse/configuration/1498784746909.log


I'm invoking the p2 director using the following CLI command:

java -jar $ECLIPSE_HOME/plugins/$LAUNCHER_JAR \

    -application  $P2_DIRECTOR                \

    -repository   "file://$P2_REPOSITORY"     \

    -installIU    "org.xxxxx.studio.feature.feature.group"    \

    -tag          AddStudio                   \

    -profile      SDKProfile                  \

    -destination  $ECLIPSE_HOME

P2_REPOSITORY points to a local update site which for this feature which loads without any problem when using the "Install New Software" UI based installation mechanism. 

After scouring the web I found a few Tyco related posts, but they did not seem to apply or shed any light. I've not integrated Maven/Tyco to build the project yet. I think I've exhausted most of my options and wanted to check here as a last resort.

Any idea what I might be doing wrong? Anything I can try to remedy this problem?

Thanks in advance,

p2-dev mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit