当前位置: 首页 > 面试题库 >

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

潘鸿文
2023-03-14
问题内容

我正在尝试使用带有以下命令的命令提示符来编译我的Java文件’check4PrimeTest.java’:

javac -classpath。:junit.jar check4PrimeTest.java

我收到以下错误:

错误:包junit.framework不存在import junit.framework。*;

我不确定为什么会收到此错误,因为我在程序中导入了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的路径指定为classpath属性,嵌套元素或对在其他地方声明的路径的引用。

  • javac任务文档

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

编辑: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文件'check 4PrimeTest.java'使用以下命令的命令提示符: javac-classpath.:朱尼特。jar CHECK4优先测试。JAVA 我得到以下错误: 错误:包junit。框架不存在导入junit。框架。*; 我不确定为什么会出现这个错误,因为我已经导入了junit。框架。*在我的节目里。 下面是我的代码:

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

  • 我正在使用WildFly Server 20. x. x. x在Spring mvc中实现异步方法,但当我想部署它时,由于@EnableAsync注释的实现而发生错误 我的异步配置: 声明@EnableAsync注释时,会发生错误 同一个应用程序已经部署在Tomcat、TomEE、Jetty Server中,并且一切正常,没有问题。

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

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

  • 考虑一下: 这种行为的原因可能是什么?