当前位置: 首页 > 知识库问答 >
问题:

javac错误:“包x不存在”在“导入x”

张瀚漠
2023-03-14

我试图编译我的java文件'check 4PrimeTest.java'使用以下命令的命令提示符:

javac-classpath.:朱尼特。jar CHECK4优先测试。JAVA

我得到以下错误:

错误:包junit。框架不存在导入junit。框架。*;

我不确定为什么会出现这个错误,因为我已经导入了junit。框架。*在我的节目里。

下面是我的代码:

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

共有3个答案

章晋鹏
2023-03-14

您之所以会出现此错误,是因为您正在导入一个包或使用一个jar文件,而jar文件找不到。

您应该检查您的环境变量是否有类路径变量。将您的jar文件或您的包的路径添加到类路径变量中。此外,如果显示错误“无法加载类,未找到主文件”,请将您的java文件的类文件路径添加到类路径变量中

希望这能有所帮助。!!

索卓
2023-03-14

您的import语句告诉编译器您需要一个工件,在这种情况下,您是在告诉编译器您需要使用junit。但是声明您正在使用它并将其提供给JVM是不同的事情。您需要确保您的jUnit jar文件在您的类路径上。

编辑:顺便说一句,使用IDE将为您节省时间。我意识到eclipse可能很吓人,但我建议开始使用它。除非你更像是一个命令行类型的人,但即便如此,如果你在做严肃的事情,你也应该使用IDE。

甄志
2023-03-14

出现此错误是因为您试图导入一个包,而不告诉系统该包的位置。以下是有关告知系统软件包所在位置的说明:

javac目标没有指定源目录和目标目录之外的任何内容——它没有添加任何类路径条目;您需要为相应的JUnit jar文件添加一个条目。有关更多详细信息,请参阅javac任务文档。您可能希望将JUnit的路径指定为类路径属性、嵌套元素或对其他地方声明的路径的引用。

  • javac任务文档

来源:在Eclipse中使用Ant运行JUnit测试的问题。初学者问题

提示

编辑: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`

Unix(bash)

要在Unix上安装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 terminal):

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

 类似资料:
  • 问题内容: 我正在尝试使用带有以下命令的命令提示符来编译我的Java文件’check4PrimeTest.java’: javac -classpath。:junit.jar check4PrimeTest.java 我收到以下错误: 错误:包junit.framework不存在import junit.framework。*; 我不确定为什么会收到此错误,因为我在程序中导入了junit.fram

  • 亲爱的Stackoverflow社区,我的spring boot starter应用程序有以下问题。我将starter项目作为一个新的maven项目导入到Intellij中。但是IntelliJ没有找到我在POM中指定的依赖项。 如果我尝试运行该项目,我会得到以下错误消息。 我已经尝试了从重新安装IntelliJ、重新导入项目或重新下载依赖项的所有方法。我只是不知道为什么IntelliJ找不到依赖

  • 当我尝试在 Jenkins 上编译我的项目时,我收到一条错误消息。

  • 我试图通过PIP安装此软件包。它给我以下错误: 我觉得这很奇怪,因为相关的没有提到任何变量,只提到。 发生了什么?你能帮我吗? 以下是的完整输出:

  • 我遇到了一个Java类的问题,它不停地告诉我,我试图导入的包不存在,但正如您所看到的,包存在。包名为,它存在于文件夹中。

  • 问题内容: 我有一个目录结构,例如在包含Java文件的根目录下。我在与上述相同的根目录中的目录结构中还有另一个Java文件。我正在从中调用方法,但收到错误消息,该程序包不存在。 我已经在我的java文件中导入了包。能给我一些建议吗? 问题答案: 这有效: com / example / model / BearExtra.java com / example / web / Bear.java 现