我想运行java package for measuring quality of my community detection algorithm,但遇到以下错误:
sudo apt-get install default-jdk
似乎默认情况下没有在java中安装软件包,因为我已经使用var obj = {
"key1": {
"key2": [{
"key3": [{
"key4": {
"key5": 0
}
}, {
"key6": {
"key7": ""
}
}]
}, {
"key8": {
"key9": true
}
}]
}
};
var keys = [];
function collectKey(obj) {
if (obj instanceof Array) {
//console.log("array");
for (var i = 0; i < obj.length; i++) {
collectObj(obj[i]);
}
} else if (typeof obj == "object") {
//console.log("object");
collectObj(obj)
} else {
return;
}
}
function collectObj(obj) {
for (var i = 0; i < Object.keys(obj).length; i++) {
keys.push(Object.keys(obj)[i]);
collectKey(obj[Object.keys(obj)[i]]);
}
}
collectKey(obj);
console.log(keys);
和类似的命令安装了java。
我在https://github.com/cloudera/collections-generic中找到包含集合15的包.Java不是我的编程语言,我不知道如何安装包;我应该把它放在特定的文件夹中。
答案 0 :(得分:3)
org.apache.commons.collections15在apache commons集合jar中可用。你需要在类路径中使用jar。
如果您使用的是maven,请将其添加到您的pom.xml
中<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.0</version>
</dependency>
答案 1 :(得分:1)
Java有一个被称为库依赖的概念,在这种情况下,您可以将其视为Java核心API的扩展。通俗地说,它们是自包含的代码“单元”,可以让您访问程序结构(方法,类,接口等),这些结构在Java中无法实现。一些额外的信息
这种情况的错误告诉我们一些事情。首先它告诉我们错误发生在第22行的Standalone.java文件中。另外它告诉我们问题正在发生,因为Apache Commons库不存在。如果您查看Standalone.java文件,您将在第22行看到以下导入
此问题的一般解决方案完全取决于您如何构建此应用程序。通常,您需要执行以下操作:
在项目根目录中,您将看到 .classpath 文件。该文件由定义项目类路径的Eclipse IDE生成。该文件应该有一个指向Commons jar文件的条目。在第3行,您将看到以下带有这两个相关属性的类路径条目
我认为这里的问题是 sourcepath 属性。它被明确分配了一个绝对的URI(大概)不适用于你。尝试为其分配与路径属性相同的值。