1. ホーム
  2. java

[解決済み] javacのエラーです。"パッケージ x は存在しません" at "import x"

2022-02-08 02:13:50

質問

Javaファイル 'check4PrimeTest.java' をコマンドプロンプトで以下のコマンドを使用してコンパイルしようとしています。

javac -classpath .:junit.jar check4PrimeTest.java

以下のようなエラーが発生します。

error: package junit.framework does not exist import junit.framework.*;

私のプログラムではimport junit.framework.*を使用しているのに、なぜこのエラーが発生するのかわかりません。

以下は私のコードです。

package check4prime;
// check4PrimeTest.java

//Imports 
import junit.framework.*;

public class check4PrimeTest extends TestCase {

    //Initialize a class to work with. 
    private check4Prime check4prime = new check4Prime();

    //constructor 
    public check4PrimeTest (String name) { 
        super(name);
    }

    //Main entry point 
    public static void main(String[] args) {
        System.out.println("Starting test...");
        junit.textui.TestRunner.run(suite());
        System.out.println("Test finished...");
    } // end main() 

    //Test case 1 
    public void testCheckPrime_true() {
        assertTrue(check4prime.primeCheck(3));
    }

    //Test cases 2,3 
    public void testCheckPrime_false() {
        assertFalse(check4prime.primeCheck(0));
        assertFalse(check4prime.primeCheck(1000));
    }

    //Test case 7 
    public void testCheck4Prime_checkArgs_char_input() { 
        try {
            String [] args= new String[1];
            args[0]="r";
            check4prime.checkArgs(args);
            fail("Should raise an Exception.");
        } catch (Exception success) { 
            //successful test
        }
    } //end testCheck4Prime_checkArgs_char_input() 

    //Test case 5 
    public void testCheck4Prime_checkArgs_above_upper_bound() {
        try { 
            String [] args= new String[1];
            args[0]="10001";
            check4prime.checkArgs(args);
            fail("Should raise an Exception.");
        } catch (Exception success) { 
            //successful test
        }
    } // end testCheck4Prime_checkArgs_upper_bound() 

    //Test case 4 
    public void testCheck4Prime_checkArgs_neg_input() {
        try { 
            String [] args= new String[1];
            args[0]="-1";
            check4prime.checkArgs(args);
            fail("Should raise an Exception.");
        } catch (Exception success) { 
            //successful test
        }
    } // end testCheck4Prime_checkArgs_neg_input()

    //Test case 6
    public void testCheck4Prime_checkArgs_2_inputs() {
        try { 
            String [] args= new String[2];
            args[0]="5";
            args[1]="99";
            check4prime.checkArgs(args);
            fail("Should raise an Exception.");
         } catch (Exception success) {
            //successful test 
         } 
    } // end testCheck4Prime_checkArgs_2_inputs 

    //Test case 8 
    public void testCheck4Prime_checkArgs_0_inputs() {
        try { 
            String [] args= new String[0];
            check4prime.checkArgs(args);
            fail("Should raise an Exception.");
        } catch (Exception success) { 
            //successful test
        } 
    } // end testCheck4Prime_checkArgs_0_inputs 

    //JUnit required method. 
    public static Test suite() { 
        TestSuite suite = new TestSuite(check4PrimeTest.class);
        return suite;
    } //end suite() 

} //end check4PrimeTest

解決方法は?

このエラーが発生するのは、パッケージがどこにあるかをシステムに知らせずにインポートしようとしているためです。パッケージがどこにあるかをシステムに伝える手順は以下のとおりです。

<ブロッククオート

javacのターゲットには、ソースとソース以外の何も指定されていません。 クラスパス・エントリーを追加していません。 を使用して、適切なJUnit jarファイルのエントリを追加してください。javacタスク のドキュメントを参照してください。へのパスを指定することができます。 JUnitをクラスパス属性、ネストされた要素、あるいは パスが宣言されています。

出典 EclipseでAntを使用してJUnitテストを実行する際に問題が発生します。初心者の質問

prompt> javac -classpath .;$JUNIT_HOME\junit4.x.x.jar test.java

EDIT: JUNITのインストール (より) こちら ):

ウィンドウズ

WindowsにJUnitをインストールするには、以下の手順で行います。

1. Unzip the junit.zip distribution file to a directory referred to as %JUNIT_HOME%.

2. Add JUnit to the classpath (type the following into a command line shell): `set CLASSPATH=%CLASSPATH%;%JUNIT_HOME%\junit.jar`

ユニックス(bash)

JUnitをUnixにインストールするには、以下の手順で行います。

1. Unzip the junit.zip distribution file to a directory referred to as $JUNIT_HOME.

2. Add JUnit to the classpath (type the following into terminal):

`export CLASSPATH=$CLASSPATH:$JUNIT_HOME/junit.jar`