Importing sun.misc.Unsafe in bundle app

1,027 views
Skip to first unread message

vincenzo bonnici

unread,
Oct 3, 2014, 7:23:43 AM10/3/14
to cytoscape...@googlegroups.com
Hello.

I'm developing a Cytoscape3 bundle app which uses an external package that imports sun.misc.Unsafe.
Probably the dependence is due to the google concurrent hashmap package.

I'm testing it on Cytoscape 3.1.1.
For linux version, I just added this directive to the Cytoscape.vmoptions  file
-Dorg.osgi.framework.bootdelegation=sun.misc
and it works if a launch both commands ./cytoscape.sh and ./Cytoscape.

On a MAC machine, I was not so lucky.
It works only when I run ./cytoscape.sh but it does not work when I launch ./Cytoscape.app.

Any suggestion?

Thank you a lot.
Vincenzo

Samad Lotia

unread,
Oct 9, 2014, 12:26:28 PM10/9/14
to cytoscape...@googlegroups.com
Hi Vincenzo,

I think this might be a problem with your Maven pom.xml file. The sun.misc.Unsafe class is part of the Oracle JVM and doesn't need to be imported by your bundle. What you'll need to do is include the sun.misc package as part of the Private-Package option to the Maven bundle plugin. Here's how that would look in your pom.xml file:

  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.3.4</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-SymbolicName>${bundle.pkg}</Bundle-SymbolicName>
            <Bundle-Name>Your bundle name</Bundle-Name>
            <Bundle-Version>${project.version}</Bundle-Version>
            <Export-Package>!${bundle.pkg}.internal.*</Export-Package>
            <Private-Package>${bundle.pkg}.*,sun.misc.*</Private-Package>
            <Bundle-Activator>${bundle.pkg}.internal.CyActivator</Bundle-Activator>
          </instructions>
        </configuration>
      </plugin>


Hope that helps,
Samad

vincenzo bonnici

unread,
Oct 11, 2014, 2:35:33 PM10/11/14
to cytoscape...@googlegroups.com
Thank you a lot.
But it sill doesn't work.

That's what I get when I run my app from cytoscape.sh and removing the vmoption


Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: sun/misc/Unsafe
at com.googlecode.concurrentlinkedhashmap.ConcurrentHashMapV8.getUnsafe(ConcurrentHashMapV8.java:4136)
at com.googlecode.concurrentlinkedhashmap.ConcurrentHashMapV8.<clinit>(ConcurrentHashMapV8.java:4101)
at com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.<init>(ConcurrentLinkedHashMap.java:221)
at com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.<init>(ConcurrentLinkedHashMap.java:104)
at com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.build(ConcurrentLinkedHashMap.java:1634)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeCollectionManagerAbstract.<init>(OSBTreeCollectionManagerAbstract.java:22)
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeCollectionManagerAbstract.<init>(OSBTreeCollectionManagerAbstract.java:28)
at com.orientechnologies.orient.client.remote.OSBTreeCollectionManagerRemote.<init>(OSBTreeCollectionManagerRemote.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:374)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract$1.call(ODatabaseRecordAbstract.java:281)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract$1.call(ODatabaseRecordAbstract.java:272)
at com.orientechnologies.common.concur.resource.OSharedContainerImpl.getResource(OSharedContainerImpl.java:53)
at com.orientechnologies.orient.client.remote.OStorageRemoteThread.getResource(OStorageRemoteThread.java:706)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.open(ODatabaseRecordAbstract.java:271)
at com.orientechnologies.orient.core.db.ODatabaseWrapperAbstract.open(ODatabaseWrapperAbstract.java:49)
at com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.openOrCreate(OrientBaseGraph.java:1741)
at com.tinkerpop.blueprints.impls.orient.OrientBaseGraph.<init>(OrientBaseGraph.java:136)
at com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.<init>(OrientTransactionalGraph.java:63)
at com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.<init>(OrientTransactionalGraph.java:59)
at com.tinkerpop.blueprints.impls.orient.OrientGraph.<init>(OrientGraph.java:78)

Samad Lotia

unread,
Oct 12, 2014, 10:47:42 AM10/12/14
to cytoscape...@googlegroups.com
Hi Vincezo,

Please tell me the JVM version you're using. You can find out by running "java -version" in the command prompt.

Thanks,
Samad

--
You received this message because you are subscribed to a topic in the Google Groups "cytoscape-helpdesk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cytoscape-helpdesk/Xdki5wxq7CU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cytoscape-helpd...@googlegroups.com.
To post to this group, send email to cytoscape...@googlegroups.com.
Visit this group at http://groups.google.com/group/cytoscape-helpdesk.
For more options, visit https://groups.google.com/d/optout.

vincenzo bonnici

unread,
Oct 13, 2014, 7:36:56 AM10/13/14
to cytoscape...@googlegroups.com
Hi Samad.

This is the output of update-alternatives




  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-8-oracle/jre/bin/java          1090      auto mode
  1            /opt/java32/jre1.7.0_11/bin/java                 10        manual mode
  2            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
* 3            /usr/lib/jvm/java-7-oracle/jre/bin/java          1089      manual mode
  4            /usr/lib/jvm/java-8-oracle/jre/bin/java          1090      manual mode


vincenzo bonnici

unread,
Oct 13, 2014, 7:37:52 AM10/13/14
to cytoscape...@googlegroups.com
I also noted this warning during the maven build

[WARNING] Bundle mygroupid:myartifact:bundle:0.0.1-SNAPSHOT : Unused Private-Package instructions, no such package(s) on the class path: [sun.misc.*]


I'm doing it in Eclipse

vincenzo bonnici

unread,
Oct 13, 2014, 8:40:02 AM10/13/14
to cytoscape...@googlegroups.com
If it could help


this is my pom file



<modelVersion>4.0.0</modelVersion>

<properties>
<bundle.symbolicName>mygroupid.myartifact</bundle.symbolicName>
<bundle.namespace>mygroupid.myartifact</bundle.namespace>
<bundle.Name>myArtifact</bundle.Name>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<cytoscape.version>3.0.0</cytoscape.version>
<osgi.api.version>4.2.0</osgi.api.version>
<maven-enforcer-plugin>1.2</maven-enforcer-plugin>
<maven.version.range>[3.0.0,3.1.0)</maven.version.range>
<java.version>1.6</java.version>
</properties>

<groupId>mygroupid</groupId>
<artifactId>myartifact</artifactId>
<version>0.0.1-SNAPSHOT</version>

<name>${bundle.Name}</name>

<build>
<!-- 
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
-->
<!-- Cytoscape requires Java 1.6 -->
<plugins>

<!-- Generates the OSGi metadata based on the osgi.bnd file. -->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.5.3</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${bundle.symbolicName}</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Export-Package>${bundle.namespace}</Export-Package>
<Private-Package>${bundle.namespace}.internal.*</Private-Package>
<Bundle-Activator>${bundle.namespace}.internal.CyActivator</Bundle-Activator>

<Embed-Dependency>*;scope=runtime|compile;optional=false</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
<Import-Package>*;resolution:=optional</Import-Package>
<Private-Package>${bundle.namespace}.*,sun.misc.*</Private-Package>
<!--
<Private-Package>${bundle.namespace}.*,sun.misc.*</Private-Package>
<Embed-Dependency>*;scope=runtime|compile;optional=false</Embed-Dependency>
<Embed-Transitive>true</Embed-Transitive>
<Import-Package>*;resolution:=optional</Import-Package>
-->
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<optimize>true</optimize>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin}</version>
<executions>
<execution>
<id>enforce-banned-dependencies</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<searchTransitive>true</searchTransitive>
<excludes>
<exclude>javassist:javassist</exclude>
<!-- <exclude>commons-logging</exclude> -->
<exclude>aspectj:aspectj*</exclude> 
<exclude>hsqldb:hsqldb</exclude>
<exclude>log4j:log4j</exclude>
<exclude>org.slf4j:1.5*</exclude>
<exclude>org.springframework:2.*</exclude>
<exclude>org.springframework:3.0.*</exclude>
<exclude>javax.xml.bind:*</exclude>
<exclude>com.sun.xml.bind:*</exclude>
 
</excludes>
</bannedDependencies>
<requireMavenVersion>
<version>${maven.version.range}</version>
</requireMavenVersion>
<requireJavaVersion>
<version>${java.version}</version>
</requireJavaVersion>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
 
 
<plugin>
<groupId>com.orientechnologies</groupId>
<artifactId>orient-commons</artifactId>
<version>1.7.9</version>
<configuration>
<instructions>
<Embed-Dependency>scope=compile|runtime;type=!pom</Embed-Dependency>
<Import-Package>*;resolution:=optional</Import-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-core</artifactId>
<version>1.7.9</version>
<configuration>
<instructions>
<Embed-Dependency>scope=compile|runtime;type=!pom</Embed-Dependency>
<Import-Package>*;resolution:=optional</Import-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-client</artifactId>
<version>1.7.9</version>
<configuration>
<instructions>
<Embed-Dependency>scope=compile|runtime;type=!pom</Embed-Dependency>
<Import-Package>*;resolution:=optional</Import-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-graphdb</artifactId>
<version>1.7.9</version>
<configuration>
<instructions>
<Embed-Dependency>scope=compile|runtime;type=!pom</Embed-Dependency>
<Import-Package>*;resolution:=optional</Import-Package>
</instructions>
</configuration>
</plugin>
<plugin>
<groupId>com.googlecode.concurrentlinkedhashmap</groupId>
<artifactId>concurrentlinkedhashmap-lru</artifactId>
<version>1.4</version>
<configuration>
<instructions>
<Embed-Dependency>scope=compile|runtime;type=!pom</Embed-Dependency>
<Import-Package>*;resolution:=optional</Import-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>

<!-- Links to the Cytoscape Maven repositories. -->
<repositories>
<repository>
<id>cytoscape_releases</id>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
<name>Cytoscape Releases</name>
</repository>
<repository>
<id>cytoscape_thirdparty</id>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
<name>Cytoscape Third Party</name>
</repository>
</repositories>




<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>layout-api</artifactId>
<version>${cytoscape.version}</version>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>swing-util-api</artifactId>
<version>${cytoscape.version}</version>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>swing-application-api</artifactId>
<version>${cytoscape.version}</version>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>vizmap-api</artifactId>
<version>${cytoscape.version}</version>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>webservice-swing-api</artifactId>
<version>${cytoscape.version}</version>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>service-api</artifactId>
<version>${cytoscape.version}</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-api</artifactId>
<version>[1.5.2,2.0.0)</version>
</dependency>
<dependency>
<groupId>cytoscape-temp</groupId>
<artifactId>woodstox-core-lgpl</artifactId>
<version>[4.0.5, 5.0.0)</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>${osgi.api.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
 
 
 
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orient-commons</artifactId>
<version>1.7.9</version>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-core</artifactId>
<version>1.7.9</version>

</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-client</artifactId>
<version>1.7.9</version>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-graphdb</artifactId>
<version>1.7.9</version>
</dependency>
<dependency>
<groupId>com.googlecode.concurrentlinkedhashmap</groupId>
<artifactId>concurrentlinkedhashmap-lru</artifactId>
<version>1.4</version>
</dependency>
</dependencies>
</dependencyManagement>







<!-- Dependencies needed to compile this project. -->
<dependencies>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>layout-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>swing-util-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>swing-application-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>vizmap-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>webservice-swing-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
<artifactId>service-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>cytoscape-temp</groupId>
<artifactId>woodstox-core-lgpl</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orient-commons</artifactId>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-core</artifactId>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-client</artifactId>
</dependency>
<dependency>
<groupId>com.orientechnologies</groupId>
<artifactId>orientdb-graphdb</artifactId>
</dependency>
<dependency>
<groupId>com.googlecode.concurrentlinkedhashmap</groupId>
<artifactId>concurrentlinkedhashmap-lru</artifactId>
</dependency>
</dependencies>


<packaging>bundle</packaging>


</project>


and this is the code who causes the crash


package mygroupid.myartifact.internal;

import java.awt.event.ActionEvent;

import javax.swing.JOptionPane;

import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.application.swing.AbstractCyAction;

import com.tinkerpop.blueprints.impls.orient.OrientBaseGraph;
import com.tinkerpop.blueprints.impls.orient.OrientGraph;
//import sun.misc.Unsafe;


/**
 * Creates a new menu item under Apps menu section.
 *
 */
public class MenuAction extends AbstractCyAction {

public MenuAction(CyApplicationManager cyApplicationManager, final String menuTitle) {
super(menuTitle, cyApplicationManager, null, null);
setPreferredMenu("Apps");
}

public void actionPerformed(ActionEvent e) {

// Write your own function here.
JOptionPane.showMessageDialog(null, "Hello Cytoscape World!");
try{
OrientBaseGraph graph = new OrientGraph("remote:ncrnadb.scienze.univr.it/ncrnadb", "reader", "reader");
}catch(Exception ex){
ex.printStackTrace();
}
}
}



Thank you.

Samad Lotia

unread,
Oct 14, 2014, 6:41:23 PM10/14/14
to cytoscape...@googlegroups.com
Hi Vincenzo,

When you build your bundle jar, could you unzip it and post the contents of META-INF/MANIFEST.MF file? This file may (or may not) be telling OSGi to try to import the sun.misc package.

Thanks,
Samad

--

vincenzo bonnici

unread,
Oct 17, 2014, 7:47:36 AM10/17/14
to cytoscape...@googlegroups.com
Of course.

This is the manifest:
Manifest-Version: 1.0
Bnd-LastModified: 1413546127722
Build-Jdk: 1.7.0_67
Built-By: vbonnici
Bundle-Activator: mygroupid.myartifact.internal.CyActivator
Bundle-ClassPath: .,org.osgi.core-4.2.0.jar,orient-commons-1.7.9.jar,ori
 entdb-core-1.7.9.jar,orientdb-nativeos-1.7.9.jar,jna-4.0.0.jar,jna-plat
 form-4.0.0.jar,snappy-java-1.1.0.1.jar,orientdb-client-1.7.9.jar,orient
 db-enterprise-1.7.9.jar,orientdb-graphdb-1.7.9.jar,orientdb-server-1.7.
 9.jar,mail-1.4.jar,activation-1.1.jar,orientdb-tools-1.7.9.jar,orientdb
 -object-1.7.9.jar,hibernate-jpa-2.0-api-1.0.0.Final.jar,javassist-3.16.
 1-GA.jar,blueprints-core-2.5.0.jar,jettison-1.3.3.jar,stax-api-1.0.1.ja
 r,jackson-datatype-json-org-2.2.3.jar,jackson-core-2.2.2.jar,jackson-da
 tabind-2.2.2.jar,jackson-annotations-2.2.2.jar,json-20090211.jar,colt-1
 .2.0.jar,concurrent-1.3.4.jar,commons-configuration-1.6.jar,commons-col
 lections-3.2.1.jar,commons-lang-2.4.jar,commons-digester-1.8.jar,common
 s-beanutils-1.7.0.jar,commons-beanutils-core-1.8.0.jar,commons-logging-
 1.1.1.jar,pipes-2.5.0.jar,gremlin-java-2.5.0.jar,gremlin-groovy-2.5.0.j
 ar,ivy-2.3.0.jar,groovy-1.8.9.jar,antlr-2.7.7.jar,asm-3.2.jar,asm-commo
 ns-3.2.jar,asm-util-3.2.jar,asm-analysis-3.2.jar,asm-tree-3.2.jar,ant-1
 .8.3.jar,ant-launcher-1.8.3.jar,jansi-1.5.jar,jline-0.9.94.jar,concurre
 ntlinkedhashmap-lru-1.4.jar
Bundle-ManifestVersion: 2
Bundle-Name: myArtifact
Bundle-SymbolicName: mygroupid.myartifact
Bundle-Version: 0.0.1.SNAPSHOT
Created-By: Apache Maven Bundle Plugin
Embed-Dependency: *;scope=runtime|compile;optional=false
Embed-Transitive: true
Embedded-Artifacts: org.osgi.core-4.2.0.jar;g="org.osgi";a="org.osgi.cor
 e";v="4.2.0",orient-commons-1.7.9.jar;g="com.orientechnologies";a="orie
 nt-commons";v="1.7.9",orientdb-core-1.7.9.jar;g="com.orientechnologies"
 ;a="orientdb-core";v="1.7.9",orientdb-nativeos-1.7.9.jar;g="com.oriente
 chnologies";a="orientdb-nativeos";v="1.7.9",jna-4.0.0.jar;g="net.java.d
 ev.jna";a="jna";v="4.0.0",jna-platform-4.0.0.jar;g="net.java.dev.jna";a
 ="jna-platform";v="4.0.0",snappy-java-1.1.0.1.jar;g="org.xerial.snappy"
 ;a="snappy-java";v="1.1.0.1",orientdb-client-1.7.9.jar;g="com.orientech
 nologies";a="orientdb-client";v="1.7.9",orientdb-enterprise-1.7.9.jar;g
 ="com.orientechnologies";a="orientdb-enterprise";v="1.7.9",orientdb-gra
 phdb-1.7.9.jar;g="com.orientechnologies";a="orientdb-graphdb";v="1.7.9"
 ,orientdb-server-1.7.9.jar;g="com.orientechnologies";a="orientdb-server
 ";v="1.7.9",mail-1.4.jar;g="javax.mail";a="mail";v="1.4",activation-1.1
 .jar;g="javax.activation";a="activation";v="1.1",orientdb-tools-1.7.9.j
 ar;g="com.orientechnologies";a="orientdb-tools";v="1.7.9",orientdb-obje
 ct-1.7.9.jar;g="com.orientechnologies";a="orientdb-object";v="1.7.9",hi
 bernate-jpa-2.0-api-1.0.0.Final.jar;g="org.hibernate.javax.persistence"
 ;a="hibernate-jpa-2.0-api";v="1.0.0.Final",javassist-3.16.1-GA.jar;g="o
 rg.javassist";a="javassist";v="3.16.1-GA",blueprints-core-2.5.0.jar;g="
 com.tinkerpop.blueprints";a="blueprints-core";v="2.5.0",jettison-1.3.3.
 jar;g="org.codehaus.jettison";a="jettison";v="1.3.3",stax-api-1.0.1.jar
 ;g="stax";a="stax-api";v="1.0.1",jackson-datatype-json-org-2.2.3.jar;g=
 "com.fasterxml.jackson.datatype";a="jackson-datatype-json-org";v="2.2.3
 ",jackson-core-2.2.2.jar;g="com.fasterxml.jackson.core";a="jackson-core
 ";v="2.2.2",jackson-databind-2.2.2.jar;g="com.fasterxml.jackson.core";a
 ="jackson-databind";v="2.2.2",jackson-annotations-2.2.2.jar;g="com.fast
 erxml.jackson.core";a="jackson-annotations";v="2.2.2",json-20090211.jar
 ;g="org.json";a="json";v="20090211",colt-1.2.0.jar;g="colt";a="colt";v=
 "1.2.0",concurrent-1.3.4.jar;g="concurrent";a="concurrent";v="1.3.4",co
 mmons-configuration-1.6.jar;g="commons-configuration";a="commons-config
 uration";v="1.6",commons-collections-3.2.1.jar;g="commons-collections";
 a="commons-collections";v="3.2.1",commons-lang-2.4.jar;g="commons-lang"
 ;a="commons-lang";v="2.4",commons-digester-1.8.jar;g="commons-digester"
 ;a="commons-digester";v="1.8",commons-beanutils-1.7.0.jar;g="commons-be
 anutils";a="commons-beanutils";v="1.7.0",commons-beanutils-core-1.8.0.j
 ar;g="commons-beanutils";a="commons-beanutils-core";v="1.8.0",commons-l
 ogging-1.1.1.jar;g="commons-logging";a="commons-logging";v="1.1.1",pipe
 s-2.5.0.jar;g="com.tinkerpop";a="pipes";v="2.5.0",gremlin-java-2.5.0.ja
 r;g="com.tinkerpop.gremlin";a="gremlin-java";v="2.5.0",gremlin-groovy-2
 .5.0.jar;g="com.tinkerpop.gremlin";a="gremlin-groovy";v="2.5.0",ivy-2.3
 .0.jar;g="org.apache.ivy";a="ivy";v="2.3.0",groovy-1.8.9.jar;g="org.cod
 ehaus.groovy";a="groovy";v="1.8.9",antlr-2.7.7.jar;g="antlr";a="antlr";
 v="2.7.7",asm-3.2.jar;g="asm";a="asm";v="3.2",asm-commons-3.2.jar;g="as
 m";a="asm-commons";v="3.2",asm-util-3.2.jar;g="asm";a="asm-util";v="3.2
 ",asm-analysis-3.2.jar;g="asm";a="asm-analysis";v="3.2",asm-tree-3.2.ja
 r;g="asm";a="asm-tree";v="3.2",ant-1.8.3.jar;g="org.apache.ant";a="ant"
 ;v="1.8.3",ant-launcher-1.8.3.jar;g="org.apache.ant";a="ant-launcher";v
 ="1.8.3",jansi-1.5.jar;g="org.fusesource.jansi";a="jansi";v="1.5",jline
 -0.9.94.jar;g="jline";a="jline";v="0.9.94",concurrentlinkedhashmap-lru-
 1.4.jar;g="com.googlecode.concurrentlinkedhashmap";a="concurrentlinkedh
 ashmap-lru";v="1.4"
Export-Package: mygroupid.myartifact;version="0.0.1.SNAPSHOT"
Import-Package: com.jcraft.jsch;resolution:=optional,com.sun.jdi;resolut
 ion:=optional,com.sun.jdi.connect;resolution:=optional,com.sun.jdi.even
 t;resolution:=optional,com.sun.jdi.request;resolution:=optional,com.sun
 .tools.apt;resolution:=optional,com.sun.tools.javac;resolution:=optiona
 l,com.sun.tools.javah;resolution:=optional,com.sun.tools.javah.oldjavah
 ;resolution:=optional,com.thoughtworks.xstream;resolution:=optional,com
 .tinkerpop.blueprints.impls.sail;resolution:=optional,com.tinkerpop.rex
 ster.config;resolution:=optional,gnu.gcj;resolution:=optional,javax.acc
 essibility;resolution:=optional,javax.crypto;resolution:=optional,javax
 .crypto.spec;resolution:=optional,javax.imageio.spi;resolution:=optiona
 l,javax.management;resolution:=optional,javax.management.modelmbean;res
 olution:=optional,javax.management.remote;resolution:=optional,javax.ma
 nagement.remote.rmi;resolution:=optional,javax.management.timer;resolut
 ion:=optional,javax.naming;resolution:=optional,javax.naming.directory;
 resolution:=optional,javax.net;resolution:=optional,javax.net.ssl;resol
 ution:=optional,javax.print.attribute.standard;resolution:=optional,jav
 ax.rmi.ssl;resolution:=optional,javax.script;resolution:=optional,javax
 .security.auth.callback;resolution:=optional,javax.security.auth.x500;r
 esolution:=optional,javax.security.sasl;resolution:=optional,javax.serv
 let;resolution:=optional,javax.servlet.http;resolution:=optional,javax.
 servlet.jsp;resolution:=optional,javax.sql;resolution:=optional,javax.s
 wing;resolution:=optional,javax.swing.border;resolution:=optional,javax
 .swing.event;resolution:=optional,javax.swing.filechooser;resolution:=o
 ptional,javax.swing.plaf;resolution:=optional,javax.swing.plaf.metal;re
 solution:=optional,javax.swing.table;resolution:=optional,javax.swing.t
 ext;resolution:=optional,javax.swing.text.html;resolution:=optional,jav
 ax.swing.tree;resolution:=optional,javax.swing.undo;resolution:=optiona
 l,javax.xml.bind;resolution:=optional,javax.xml.bind.annotation;resolut
 ion:=optional,javax.xml.datatype;resolution:=optional,javax.xml.parsers
 ;resolution:=optional,javax.xml.transform;resolution:=optional,javax.xm
 l.transform.dom;resolution:=optional,javax.xml.transform.sax;resolution
 :=optional,javax.xml.transform.stream;resolution:=optional,javax.xml.va
 lidation;resolution:=optional,javax.xml.xpath;resolution:=optional,juni
 t.framework;resolution:=optional,junit.textui;resolution:=optional,kaff
 e.util;resolution:=optional,org.apache.avalon.framework.logger;resoluti
 on:=optional;version="[4.3,5)",org.apache.bsf;resolution:=optional,org.
 apache.bsf.util;resolution:=optional,org.apache.commons.cli;resolution:
 =optional,org.apache.commons.codec.binary;resolution:=optional,org.apac
 he.commons.httpclient;resolution:=optional,org.apache.commons.httpclien
 t.auth;resolution:=optional,org.apache.commons.httpclient.methods;resol
 ution:=optional,org.apache.commons.httpclient.params;resolution:=option
 al,org.apache.commons.jxpath;resolution:=optional,org.apache.commons.jx
 path.ri;resolution:=optional,org.apache.commons.jxpath.ri.compiler;reso
 lution:=optional,org.apache.commons.jxpath.ri.model;resolution:=optiona
 l,org.apache.commons.vfs;resolution:=optional,org.apache.commons.vfs.im
 pl;resolution:=optional,org.apache.env;resolution:=optional,org.apache.
 harmony.luni.util;resolution:=optional,org.apache.log;resolution:=optio
 nal,org.apache.log4j;resolution:=optional;version="[1.2,2)",org.apache.
 oro.text;resolution:=optional,org.apache.oro.text.regex;resolution:=opt
 ional,org.bouncycastle.bcpg;resolution:=optional,org.bouncycastle.jce.p
 rovider;resolution:=optional,org.bouncycastle.openpgp;resolution:=optio
 nal,org.cytoscape.application;resolution:=optional,org.cytoscape.applic
 ation.swing;resolution:=optional;version="[3.0,4)",org.cytoscape.servic
 e.util;resolution:=optional;version="[3.0,4)",org.cytoscape.view.model;
 resolution:=optional;version="[3.0,4)",org.junit;resolution:=optional,o
 rg.w3c.dom;resolution:=optional,org.w3c.dom.bootstrap;resolution:=optio
 nal,org.w3c.dom.ls;resolution:=optional,org.xml.sax;resolution:=optiona
 l,org.xml.sax.ext;resolution:=optional,org.xml.sax.helpers;resolution:=
 optional,sun.awt;resolution:=optional,sun.java2d.pipe;resolution:=optio
 nal,sun.misc;resolution:=optional,sun.rmi.rmic;resolution:=optional,sun
 .tools.javac;resolution:=optional,sun.tools.native2ascii;resolution:=op
 tional,weblogic;resolution:=optional
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.6))"
Tool: Bnd-2.3.0.201405100607


vincenzo bonnici

unread,
Oct 17, 2014, 7:47:53 AM10/17/14
to cytoscape...@googlegroups.com
By the way, is it normal that it is including (copying) all the needed packages (the Bundle-ClassPath list) inside the package?

Samad Lotia

unread,
Oct 17, 2014, 11:24:44 AM10/17/14
to cytoscape...@googlegroups.com
I can't figure out why Maven is insisting on importing the sun.misc package when it is provided by the JRE. I searched for the answer for resolving the sun.misc issue, and it looks like your original solution of changing the line in Cytoscape.vmoptions is the only one I could find.

I discussed this issue with other Cytoscape core developers, and as of right now we can't distribute Cytoscape with the modifications you made to the Cytoscape.vmoptions file. However, we would still encourage you to distribute your app with instructions on modifying the vmoptions file to include the sun.misc package.

I apologize for not being enough help!

On Fri, Oct 17, 2014 at 4:47 AM, vincenzo bonnici <vincenzo...@gmail.com> wrote:
By the way, is it normal that it is including (copying) all the needed packages (the Bundle-ClassPath list) inside the package?

--

vincenzo bonnici

unread,
Oct 20, 2014, 7:04:05 AM10/20/14
to cytoscape...@googlegroups.com
No worries.
Thank you a lot! :)
Reply all
Reply to author
Forward
0 new messages