0

in the java test I have :

package Tester.GUI.api
public class Test1{-----}

in the ".bat" :

<path to java> -classpath<all jar defined in the classpath separated by ";"> org.junit.runner.JUnitCore Tester.GUI.api.Test1

when I launch th ".bat" I have the following :

JUnit version 4.6
Could not find class: Tester.GUI.api.Test1
Time: 0,203

OK (0 tests)

I have verified jar files , typo but not found the cause someone could help please?

4

2 回答 2

0

它说它找不到的类是Tester.GUI.api.Test1。您从哪个目录运行测试,您的Test1代码在哪个目录中?

如果设置-classpath变量,您可能还需要在类路径中包含当前目录。所以,如果你原来的命令是

java -classpath C:\foo.jar;D:\bar1\bar2.jar org.junit.runner.JUnitCore Tester.GUI.api.Test1

您可以通过添加;.到选项的末尾来将当前目录添加到类路径中,-classpath如下所示:

java -classpath C:\foo.jar;D:\bar1\bar2.jar;. org.junit.runner.JUnitCore Tester.GUI.api.Test1

只要Test1该类位于Tester\GUI\api当前目录下的目录中,这将起作用。

在 Java 中设置类路径的棘手之处在于,您不想提供实际 .java 文件所在的目录,而是希望提供可以在其中找到以包命名的目录的目录你的代码。

例如,如果我Foo在 package 中编译了一个类bar.baz,那么我应该Foo.classbaz另一个名为bar. 如果我想包含Foo在我的类路径中,并且如果Foo.class位于 C:\Users\Joe\Code\bar\baz\Foo.class,那么我必须要么运行

java -classpath C:\Users\Joe\Code [main class goes here]

否则我必须将目录更改为C:\Users\Joe\Code并运行

java -classpath . [main class goes here]
于 2010-02-24T22:34:01.117 回答
0

-classpath选项需要采用一组目录和/或 jar 文件。目前这些都丢失了,所以你的主类(JUnitCore)被用作类路径,并被Test1用作主类。我猜你想JUnitCore作为主要课程和Test1论据。

尝试这样的事情(用你正在使用的 jar 的实际名称替换 jar-file1、jar-file2):

java -classpath <jar-file1.jar>;<jar-file2.jar> org.junit.runner.JUnitCore Tester.GUI.api.Test1

编辑: 假设正确指定了 jar 文件,错误消息表明Test1该类不在类路径上。如果您使用的是 IDE,则需要找到用于编译的输出目录(例如,在 Eclipse 中它是<project>/bin默认的)。在此目录中,您将找到具有结构的其他目录Tester/GUI/api。一个名为的文件Test1.class将在api目录中。正是这个输出目录需要添加到类路径(即Tester/GUI/api结构上方的那个)中。

于 2010-02-24T21:53:09.307 回答