2017-12-07 5 views
0

ich folgendes Projekt ausgeführt werden soll:integrieren eine Ameise Projekt

https://gforge.inria.fr/plugins/mediawiki/wiki/melinda/index.php/RDF_keys

In der Projektseite, wieder aufnehmen sie die Schritte wie folgt:

1-git clone https://gforge.inria.fr/git/melinda/melinda.git 
2-cd melinda/trunk/rdfifd/ 
3-ant jar 
4- java -jar pseudo-keys.jar -t -i /path/to/rdf_file -o /path/to/output/file 

So wie kann ich integrieren und führe dieses Projekt in einem Eclipse-Projekt aus?

Ich befolge diese setp bereits auf einer Linux-Befehlszeile und es funktioniert gut und Pseudo-keys.jar wird generiert. Ich nehme diese .jar und in meinem Laptop schreibe ich den folgenden Code:

public class TestDriver { 
    /** Executes a command */ 
     public static void execute(String cmd, File folder) throws Exception { 
     Process p = Runtime.getRuntime().exec(cmd, null, folder); 
     BufferedReader bri = new BufferedReader(new InputStreamReader(p.getInputStream())); 
     BufferedReader bre = new BufferedReader(new InputStreamReader(p.getErrorStream())); 
     String s1, s2 = null; 
     while (null != (s1 = bri.readLine()) || null != (s2 = bre.readLine())) { 
      if (s1 != null) System.out.println(s1); 
      if (s2 != null) System.err.println(s2); 
     } 
     p.waitFor(); 
     } 

    public static void main(String[]args) throws Exception{ 
     String cmd = "java -jar C:/Users/user/Desktop/pseudo-keys.jar -t -i C:/Users/user/Desktop/randomLocation/datasetLocation/restaurant1.rdf -o C:/Users/user/Desktop/randomLocation/key.xml"; 
     execute(cmd, null); 
    } 

Die Ausführung gibt die folgenden Fehler:

java.lang.NoClassDefFoundError: org/apache/commons/cli/ParseException 
    at java.lang.Class.getDeclaredMethods0(Native Method) 
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) 
    at java.lang.Class.privateGetMethodRecursive(Class.java:3048) 
    at java.lang.Class.getMethod0(Class.java:3018) 
    at java.lang.Class.getMethod(Class.java:1784) 
    at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.cli.ParseException 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 7 more 
Error: A JNI error has occurred, please check your installation and try again 
Exception in thread "main" 

Jede Hilfe bitte den Code auszuführen? Wo ist mein Fehler?

Danke

Antwort

0
  1. Kopieren Sie die URI https://gforge.inria.fr/git/melinda/melinda.git in die Zwischenablage
  2. In den Git-Repositorys die Clone ein Git Repository Schaltfläche klicken und den Assistenten folgen (wenn der Dialog nicht vorgefüllt, geben Sie den URI manuell ein)
  3. Klicken Sie mit der rechten Maustaste auf den Knoten melinda [master]> Arbeitsbaum> Stamm> rdfifd und wählen Projekte importieren ... und folgen Sie den Import-Assistenten
  4. Im Package Explorer oder Projekt-Exploreroffen die Datei rdfifd/build.xml über einen Doppelklick auf
  5. im Gliederung Ansicht der rechten Maustaste das Ziel jar ein d Run As> Ant
  6. Auf der Kommandozeile laufen java -jar pseudo-keys.jar -t -i /path/to/rdf_file -o /path/to/output/file Erstellen wählen. Alternativ können Sie Schritt 4 und 5 und Lauf fr.inrialpes.exmo.rdfkeys.KeyExtraction als Java-Anwendung mit den notwendigen Argumenten (Ausführen> Ausführen Konfigurationen ..., in Tab Argumente Feld Programm Argumente) überspringen.
+0

Sir @howlger, danke. Mit Ihren Tipps läuft die Software in Eclipse. Aber bitte, wie kann ich dieses Projekt in mein eigenes Java-Projekt integrieren. Wie kann das Argument im Code nicht in Run-Konfiguration – bib

+0

@bib assistieren Sie können auch die Hauptmethode 'fr.inrialpes.exmo.rdfkeys.KeyExtraction' in Ihrem Java-Code, z. G. 'KeyExtraction.main (neuer String [] {" - t "," -i ","/Pfad/zu/rdf_Datei "," -o ","/Pfad/zu/Ausgabe/Datei "})'. – howlger

+0

Vielen Dank Sir @howlger – bib

Verwandte Themen