Java Class Randoop 的路径问题

Java Class Path issue with Randoop

我正在使用 Java 的自动测试生成器 Randoop。

但是,当从命令行使用 运行 Randoop 时,我似乎无法弄清楚如何正确指定 class 路径。

我详细阅读了这个问题:Java Classpath error-cannot find my class,但我的设置似乎有点不同。

我 运行 在 Windows 机器上。

整个项目结构如下所示:

cse331/
    bin/
        hw5/
            GraphNode.class
    src/
        hw5/
            GraphNode.java
    randoop-2.1.4.jar

(还有一些其他文件,但我认为这里不重要)

我试过打电话:

java -ea -classpath randoop-2.1.4.jar:bin/* randoop.main.Main gentests --testclass=GraphNode --timelimit=20

但是收到错误:

Error: Could not find or load main class randoop.main.Main

我尝试了几种变体,在 class 路径中加载 .java 文件而不是 .class 文件,但到目前为止没有任何选项起作用。如果我没有在 randoop-2.1.4 的末尾指定 class 路径,我会收到一条错误消息,指出找不到 class GraphNode。

设置只是第一步,我似乎无法走上正轨。

像下面这样设置类路径:

-classpath "randoop-2.1.4.jar;bin/*"

有关详细信息,请参阅 Setting the class path

最后,解决方案是像 Sumit 建议的那样从 bin/ 中删除星号并包含分号。

java -ea -classpath randoop-2.1.4.jar;bin/ randoop.main.Main gentests --testclass=GraphNode --timelimit=20

试试这个:它一定会消除这个错误。 java -cp cse331/bin;randoop-2.1.4.jar randoop.main.Main gentests --testclass=hw5.GraphNode --timelimit=100.

如果你的项目是maven项目,尽量包含所有的依赖。下载使用此命令:mvn dependency:copy-dependencies

如果您对 randoop 有任何其他疑问,请告诉我。