Javaファイルと対応するコマンドラインツールを使用して、基本的なJUnit 4セットアップを機能させようとしています(Eclipseに移る前に、作業が簡単になると思いますが、最初にこの方法でやりたいと思います)そして以下は、問題を引き起こすと思われる自明の入力/出力です。
deniz@debian:~$ cd /tmp/temp2/src/com/example/example
deniz@debian:/tmp/temp2/src/com/example/example$ echo $CLASSPATH
.:/home/deniz/CLASSPATH_DIR:/usr/share/java/jogl.jar:/usr/share/java/gluegen-rt.jar:/usr/share/java/junit4.jar
deniz@debian:/tmp/temp2/src/com/example/example$ ls -l /usr/share/java/junit4.jar
lrwxrwxrwx 1 root root 16 Feb 8 2011 /usr/share/java/junit4.jar -> junit4-4.8.2.jar
deniz@debian:/tmp/temp2/src/com/example/example$ ls
MathUtils.java MathUtilsTest.java
deniz@debian:/tmp/temp2/src/com/example/example$ javac ./*.java
deniz@debian:/tmp/temp2/src/com/example/example$ ls
MathUtils.class MathUtils.java MathUtilsTest.class MathUtilsTest.java
deniz@debian:/tmp/temp2/src/com/example/example$ java MathUtils
Exception in thread "main" java.lang.NoClassDefFoundError: MathUtils (wrong name: com/example/example/MathUtils)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
Could not find the main class: MathUtils. Program will exit.
deniz@debian:/tmp/temp2/src/com/example/example$ java MathUtilsTest
Exception in thread "main" java.lang.NoClassDefFoundError: MathUtilsTest (wrong name: com/example/example/MathUtilsTest)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
Could not find the main class: MathUtilsTest. Program will exit.
deniz@debian:/tmp/temp2/src/com/example/example$ cat MathUtils.java
package com.example.example;
public class MathUtils
{
public static double multiply(double a, double b)
{
return a * b;
}
public static void main(String[] args)
{
double num = multiply(4.0,-5.0);
System.out.println("The number is: " + num);
}
}
deniz@debian:/tmp/temp2/src/com/example/example$ cat MathUtilsTest.java
package com.example.example;
import org.junit.Test;
import static org.junit.Assert.*;
public class MathUtilsTest
{
@Test
public void testMultiply()
{
double a = 5.0;
double b = -4.0;
double expected = -20.0;
double result = MathUtils.multiply(a, b);
assertEquals(expected, result, 0.00001);
}
}
deniz@debian:/tmp/temp2/src/com/example/example$
誰かが何が起こっているのか、これを解決する方法を教えてもらえますか? MathUtils クラスでさえ機能しません。パッケージが定義されており、main メソッドがあります。
私が提供した以上の情報が必要な場合は、お尋ねください。
これを入力するのは非常に疲れているので、ばかげた間違いや仮定をした場合はお詫びします。それにもかかわらず、私を修正してください。
どんな助けでも大歓迎です!前もって感謝します!