Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javac错误:";“文件包x不存在”;at";进口x";_Java_Junit_Compiler Errors - Fatal编程技术网

javac错误:";“文件包x不存在”;at";进口x";

javac错误:";“文件包x不存在”;at";进口x";,java,junit,compiler-errors,Java,Junit,Compiler Errors,我正在尝试使用命令提示符和以下命令编译java文件“check4PrimeTest.java”: javac-classpath.:junit.jar check4PrimeTest.java 我得到以下错误: 错误:包junit.framework不存在导入junit.framework.* 我不确定为什么会出现此错误,因为我在程序中导入了junit.framework.* 下面是我的代码: package check4prime; // check4PrimeTest.java //Imp

我正在尝试使用命令提示符和以下命令编译java文件“check4PrimeTest.java”:

javac-classpath.:junit.jar check4PrimeTest.java

我得到以下错误:

错误:包junit.framework不存在导入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

import语句告诉编译器您需要一个工件,在本例中,您告诉编译器您需要使用junit。但是声明您正在使用它并将其提供给JVM是不同的事情。您需要确保JUnitJAR文件位于类路径上


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

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

您的javac目标除了源代码和 目标目录-它不添加任何类路径条目;你需要 为相应的JUnit jar文件添加条目。请参阅javac任务 有关更多详细信息,请参阅文档。您可能需要指定到的路径 JUnit作为类路径属性、嵌套元素或对 其他地方声明的路径

资料来源:

prompt>javac-classpath$JUNIT\u 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`
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`
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 a command line shell): `set CLASSPATH=%CLASSPATH%;%JUNIT_HOME%\junit.jar`
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`

出现此错误的原因是您正在导入一个包或使用一个jar文件,但该文件找不到

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


希望这能有所帮助

如果您在JUnit 5或更高版本中使用Java 9或更高版本,那么JUnit包可能是在一个模块中定义的,您可能需要使用
--module path
指向包含模块/module JAR的目录。

在我的例子中,在windows机器上,我只是 替换为冒号:使用分号; 成功了

javac-cp.:./abc.jar:./def.jar Practice.java Practice.java:2:错误:包com.coding.javapractice不存在

替换后:替换为

javac-cp/abc.jar/def.jar Practice.java


编译成功。

就我个人而言,我认为在依赖IDE之前了解如何手动执行是一个好主意,但是一个好的IDE肯定会提高您的效率(我推荐NetBeans,因为它没有eclipse IMHO那么麻烦)。然而,每个人都有自己的想法。是的,这有点像是手工做算术,而不是使用计算器。可能是因为我没有那么聪明,而且依赖于计算器:)。我添加后它会是什么样子?这取决于junit文件的位置。我会看看我是否能找到一些语法。如果你在eclipse中工作,右键单击project>BuildPath>ConfigureBuildPath>ExternalLibrary>find,然后单击ok--这是内存造成的,所以可能不是100%@weberc2我应该把junit4.10放在jdk1.7.0_03/bin文件夹中吗?@JonSnow如果你已经解决了问题,请选择适当的答案或添加您自己的答案。如何将JUnit的路径指定为类路径?@CobolStudes JUnit下载文件“junit4.10”我应该将其放入jdk1.7.0_03/bin文件夹中吗?我的目录?@JonSnow,在哪里安装junit4.10应该无关紧要;但是,您必须告诉您的系统在哪里查找它。您可以按照我最近的编辑(在“JUNIT安装”下)中所述使用环境变量。如果您还有其他问题,请告诉我。我按照您的说明在windows上安装JUNIT。1.我在我的程序文件(x86)中创建了一个名为%JUNIT_HOME%的目录,并将junit4.10 foldier提取到其中2.从cmd中添加junit类路径,设置classpath=%classpath%;%junit_HOME%\junit.jar,这很有效!但当我尝试从桌面编译“check4PrimeTest.java”文件时,出现了与没有“错误:包junit.framework不存在导入junit.fra”相同的错误mework.*;'使用以下命令进行编译:C:\Users\J\Desktop>javac-classpath.:junit.jar check4PrimeTest.java