集成一个蚂蚁项目

integrate an ant project

我想要运行以下项目:

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

在项目页面中,他们恢复了以下步骤:

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

那么我如何在 eclipse 项目中集成和 运行 这个项目?

我已经在 linux 命令行上执行了这些设置,它运行良好并且生成了伪 keys.jar。我使用这个 .jar 并在我的笔记本电脑中编写以下代码:

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);
    }

执行报如下错误:

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" 

对 运行 代码有什么帮助吗?我的错误在哪里?

谢谢

  1. 将 URI https://gforge.inria.fr/git/melinda/melinda.git 复制到剪贴板
  2. Git Repositories点击克隆一个Git Repository 按钮并按照向导操作(如果对话框未预先填写,请手动输入 URI)
  3. 右键单击节点 melinda [master] > Working Tree > t运行k > rdfifd 并选择 导入项目... 并按照导入向导
  4. Package ExplorerProject Explorer打开文件 rdfifd/build.xml 通过双击
  5. 大纲视图中右击目标jar并选择运行 As > Ant Build
  6. 在命令行上运行java -jar pseudo-keys.jar -t -i /path/to/rdf_file -o /path/to/output/file。或者,您可以跳过第 4 步和第 5 步以及 运行 fr.inrialpes.exmo.rdfkeys.KeyExtraction 作为 Java application 使用必要的参数 (运行 > 运行 配置...,在选项卡 参数 字段中 程序参数 )。