0

我想运行“ReutersToSparseVectors.java”。我可以毫无问题地编译和创建 JAR 文件。

我通过以下命令编译了这个文件:

javac -classpath hadoop-core-0.20.205.0.jar:lucene-core-3.6.0.jar:mahout-core-0.7.jar:mahout-math-0.7.jar ReutersToSparseVectors.java

created JAR file with below command:

jar cvf ReutersToSparseVectors.jar ReutersToSparseVectors.class

When I write java -jar ReutersToSparseVectors.jar运行,给我以下错误:

无法从 ReutersToSparseVectors.jar 加载主类清单属性

你能帮我解决这个问题吗?

如果此示例可以使用 hadoop 运行,请告诉我如何使用 hadoop 运行此示例。

4

1 回答 1

1

而不是使用-jar选项,那么最好运行:

 java -cp mahout-core.jar:... mia.clustering.ch09.ReutersToSparseVectors

或者您可以使用mvn exec:java命令,如自述文件中所述的示例...

 mvn exec:java -Dexec.mainClass="mia.clustering.ch09.ReutersToSparseVectors"

或者,您可以直接从 IDE 运行此文件(假设您正确导入了 Maven 项目)。

PS您的命令不起作用,因为要使用-jar开关运行,该.jar文件应该在清单中具有特殊条目,该条目描述了默认情况下应该启动该类...

PPS 最好将书中的示例与 Mahout 0.7 一起使用,因为它们已经过测试。如果需要,您可以将它与 0.7 版一起使用,届时您需要从mahout-0.7存储库分支中获取源代码和示例(链接在上面)

于 2012-07-12T10:08:37.697 回答