Thanks Lars for the pointer. Georg, any progress on your Cytoscape experiments?
/peter G: neubauer.peter S: peter.neubauer P: +46 704 106975 L: http://www.linkedin.com/in/neubauer T: @peterneubauer Neo4j 2.0.0 - (graphs)-[:FOR]->(everyone) Kids LAN creative party in Malmö - Kidscraft ICE On Thu, Jan 16, 2014 at 10:08 AM, Lars Martin <[email protected]> wrote: > If you don't want end to up in a huge bundle containing all these third > party libraries (org.apache.* ...) you should define optional dependencies > (e.g. I don't see any need to have a strict dependency on org.apache.ant). > Other dependencies are available as OSGi bundles you should refer to. If you > do that you will get a valid Neo4j OSGi 2.0 bundle of about 16-18MB and > there is room for improvement. If you do not want to re-invent the wheel you > can use this https://github.com/BluWings/neo4j-osgi-bundle Maven Project. It > will produce an OSGi bundle you can deploy into your OSGi runtime (using > Eclipse target platform or whatever) > > Regards, Lars > > Am Mittwoch, 15. Januar 2014 23:01:31 UTC+1 schrieb Georg Summer: >> >> I used the /lib of the community edition. I added all the libs as a maven >> dependency and if I try to deploy the app I get the following missing >> dependency: >> package=ch.qos.logback.classic. >> >> If I add the dependency for this lib I get the next dependency missing and >> so on and so on. >> When it started to ask me for org.apache.ant and javax.servlet I gave up. >> There has to be a better way. >> Anyone experience in deploying neo4j as a 3rd party dependency of an OSGi >> bundle? >> >> On Wednesday, 15 January 2014 17:07:20 UTC+1, Peter Neubauer wrote: >>> >>> Hi Georg, >>> Cytoscape not correctly resolving dependencies looks cumbersome. Do you >>> know what more dependencies there could be? You can always download a server >>> neo4j distribution, look into the /lib directory there and add all of these? >>> >>> /peter >>> >>> >>> G: neubauer.peter >>> S: peter.neubauer >>> P: +46 704 106975 >>> L: http://www.linkedin.com/in/neubauer >>> T: @peterneubauer >>> >>> Neo4j 2.0.0 - (graphs)-[:FOR]->(everyone) >>> Do something useful - Teach your kids 1 hour code! >>> >>> >>> On Wed, Jan 15, 2014 at 5:02 PM, Georg Summer <[email protected]> >>> wrote: >>>> >>>> Neo4j Version: 2.0.0 >>>> Cytoscape Version: 3.0.1 >>>> Maven: 3.1.1 >>>> Java: 1.7.0_45 OpenJDK Runtime Environment (IcedTea 2.4.3) (ArchLinux >>>> build 7.u45_2.4.3-1-x86_64) >>>> Eclipse: 4.3.1 >>>> >>>> >>>> GOAL: The goal is to create an app for cytoscape 3.x (curr 3.0.1) that >>>> is able to connect to an instance of neo4j. >>>> >>>> APPROACH: >>>> 1. create a cytoscape 3.0.1 app based on the cytoscape tutorial from >>>> http://opentutorials.cgl.ucsf.edu/index.php/Tutorial:Create_a_Bundle_App_Using_IDE >>>> 2. make some menu entry that uses the EmbeddedGraphDatabaseService to >>>> connect to an instance. >>>> 3. add neo4j dependency to the pom.xml of the app >>>>> >>>>> <dependency> >>>>> <groupId>org.neo4j</groupId> >>>>> >>>>> <artifactId>neo4j</artifactId> >>>>> <version>2.0.0</version> >>>>> </dependency> >>>> >>>> 4. mvn clean install >>>> 5. launch the app in Cytoscape >>>> >>>> RESULT: >>>> Cytoscape 3 can not resolve the dependency and the app will not start. >>>> >>>> Suggested FIX 1: >>>> http://wiki.cytoscape.org/Cytoscape_3/AppDeveloper/Cytoscape_3_App_Cookbook#Embedding_Dependencies >>>> Use <Embed-Dependency> >>>>> >>>>> <!-- Generates the OSGi metadata based on the osgi.bnd file. --> >>>>> <plugin> >>>>> <groupId>org.apache.felix</groupId> >>>>> <artifactId>maven-bundle-plugin</artifactId> >>>>> <version>2.3.7</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>neo4j*;scope=compile|runtime</Embed-Dependency> >>>>> --> >>>>> <!-- <Embed-Transitive>true</Embed-Transitive> --> >>>>> </instructions> >>>>> </configuration> >>>>> </plugin> >>>> >>>> >>>> RESULT: While a neo4j jar is put into the app, the neo4j jar is empty >>>> and does not resolve the dependencies. >>>> >>>> Naive Fix 2: >>>> Normally one has to add more than one lib to the eclipse project. So I >>>> tried that. >>>>> >>>>> <dependency> >>>>> <groupId>org.neo4j</groupId> >>>>> <artifactId>neo4j-udc</artifactId> >>>>> <version>2.0.0</version> >>>>> </dependency> >>>>> <dependency> >>>>> <groupId>org.neo4j</groupId> >>>>> <artifactId>neo4j-kernel</artifactId> >>>>> <version>2.0.0</version> >>>>> </dependency> >>>>> <dependency> >>>>> <groupId>org.neo4j</groupId> >>>>> <artifactId>neo4j-lucene-index</artifactId> >>>>> <version>2.0.0</version> >>>>> </dependency> >>>>> <dependency> >>>>> <groupId>org.neo4j</groupId> >>>>> <artifactId>neo4j-graph-algo</artifactId> >>>>> <version>2.0.0</version> >>>>> </dependency> >>>> >>>> >>>> And so on. Embedding them as suggested in Fix 1 as well. >>>>> >>>>> >>>>> <Embed-Dependency>lucene-core,geronimo-jta_1.1_spec,scala-library,neo4j*,parboiled-scala_2.10,parboiled-core,concurrentlinkedhashmap-lru;scope=compile|runtime</Embed-Dependency> >>>> >>>> >>>> All these sources are then included in the jar and when I deploy the app >>>> in Cytoscape are recognized. >>>> Why does it not fix the problem? Well Cytoscape demands more >>>> dependencies. At the point of of it asking for org.apache.ant and javax.jms >>>> I stopped. >>>> The <Embed-Transitive>true</Embed-Transitive> directive should take care >>>> of that. >>>> >>>> >>>> So I am a bit stuck. Does anyone have an idea how to make an Cytoscape 3 >>>> App depending on Neo4j? >>>> >>>> >>>> Georg >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Neo4j" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> For more options, visit https://groups.google.com/groups/opt_out. >>> >>> > -- > You received this message because you are subscribed to the Google Groups > "Neo4j" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups "Neo4j" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
