集成一个蚂蚁项目
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"
对 运行 代码有什么帮助吗?我的错误在哪里?
谢谢
- 将 URI
https://gforge.inria.fr/git/melinda/melinda.git
复制到剪贴板
- 在Git Repositories点击克隆一个Git Repository 按钮并按照向导操作(如果对话框未预先填写,请手动输入 URI)
- 右键单击节点 melinda [master] > Working Tree > t运行k > rdfifd 并选择 导入项目... 并按照导入向导
- 在Package Explorer或Project Explorer中打开文件
rdfifd/build.xml
通过双击
- 在大纲视图中右击目标
jar
并选择运行 As > Ant Build
- 在命令行上运行
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 使用必要的参数 (运行 > 运行 配置...,在选项卡 参数 字段中 程序参数 )。
我想要运行以下项目:
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"
对 运行 代码有什么帮助吗?我的错误在哪里?
谢谢
- 将 URI
https://gforge.inria.fr/git/melinda/melinda.git
复制到剪贴板 - 在Git Repositories点击克隆一个Git Repository 按钮并按照向导操作(如果对话框未预先填写,请手动输入 URI)
- 右键单击节点 melinda [master] > Working Tree > t运行k > rdfifd 并选择 导入项目... 并按照导入向导
- 在Package Explorer或Project Explorer中打开文件
rdfifd/build.xml
通过双击 - 在大纲视图中右击目标
jar
并选择运行 As > Ant Build - 在命令行上运行
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 使用必要的参数 (运行 > 运行 配置...,在选项卡 参数 字段中 程序参数 )。