可能与此问题类似:package does not exist error! 但我不明白如何管理它。
我尝试按照本课程(法语抱歉)https://openclassrooms.com/courses/les-tests-unitaires-en-java
所以我有以下树: 车库/测试/ XXXTest.java,车库/ main / impl / XXX.java,车库/ main / inter / XXX.java
在测试中我有这个代码(GPSTest.Java)
package test;
import static org.junit.Assert.*;
import org.junit.Test;
import main.impl.GPS;
public class GPSTest
{
@Test
public final void GPSTest() {
GPS gps = new GPS();
double prix = gps.getPrix();
assertTrue("Test prix GPS", prix == 113.5);
}
}
并且在main / impl中我有这个(GPS.java)
package main.impl;
import main.inter.Option;
public class GPS implements Option
{
public double getPrix()
{
return 113.5;
}
}
在main / inter我有(Option.java)
package main.inter;
public interface Option
{
public double getPrix();
}
当我尝试编译时(我在车库里)
javac -cp "C:\Program Files (x86)\Java\junit-4.10.jar" test\GPSTest.java
我有这个错误
test\GPSTest.java:6: error: package main.impl does not exist
import main.impl.GPS;
我是否需要在包名中添加Garage?在本课程(上面链接)中,它是相同的架构和相同的包名......但是他们使用Eclipse,所以可能存在一些差异(我使用命令行)
EDIT 如果我删除测试部分它的工作原理: 测试\ TestGPS.java
package test;
/*import static org.junit.Assert.*;
import org.junit.Test;*/
import main.impl.GPS;
public class GPSTest
{
// @Test
public final void GPSTest() {
GPS gps = new GPS();
double prix = gps.getPrix();
//assertTrue("Test prix GPS", prix == 113.5);
System.out.println(prix);
}
}
使用以下命令不会出错...所以我认为问题出在classpath上,但我该如何解决呢?
javac test\GPSTest.java
答案 0 :(得分:0)
我是否需要在包名称中添加Garage
不,但是在编译时你需要在目录Garage
中,这样你就是以下目录树的头部:
main
main/impl
main/impl/GPS.java
main/inter
main/inter/Option.java
test
test/GPSTest.java
答案 1 :(得分:0)
问题在于clathpass。我必须在路径的其余部分之前将当前文件添加到.;
的路径:
javac -cp .;"C:\Program Files (x86)\Java\junit-4.10.jar" test\GPSTest.java