Java Maven can';即使包含包,也找不到类
我有以下代码:Java Maven can';即使包含包,也找不到类,java,maven,Java,Maven,我有以下代码: package osu.cs362.URLValidator; import static org.junit.Assert.*; import org.junit.Test; import java.util.*; import static org.mockito.Mockito.*; public class DomainValidatorTest { RegexValidator rev = mock(RegexValidator.class); } 这包括包o
package osu.cs362.URLValidator;
import static org.junit.Assert.*;
import org.junit.Test;
import java.util.*;
import static org.mockito.Mockito.*;
public class DomainValidatorTest {
RegexValidator rev = mock(RegexValidator.class);
}
这包括包osu.cs362.urlvalidater
,其中包含RegexValidator
但是,当运行mvn测试时,我得到:
找不到符号类RegexValidator
为什么找不到这个班?这是一个pom.xml
问题吗?您应该将DomainValidatorTest.java
移动到目录:
src/test/java/osu/cs362/urlvalidater
目录结构应该与java包相同。这不是Maven的问题
如果RegexValidator
类具有如下声明:
package osu.cs362.URLValidator;
public class RegexValidator {
...
}
你不会有问题的。因此,我认为情况并非如此。
此外,文件系统文件夹不是Java包。
例如,没有人阻止您在文件夹中声明类:
osu/cs362
类路径文件夹,并这样声明类的包:virtualive.folder
该类将编译。
DomainValidatorTest
就是这样。包与文件夹布局不对称,但类由编译器找到,并且不会导致编译错误。
但当然,这是一种不好的做法,具有误导性。这就是为什么包应该始终与文件夹布局对称。我可以问一下它是什么编辑器吗?我目前正在使用Spring工具套件。