Java 我的Junit测试可以';t使用';mvn清洁安装';在窗户上

Java 我的Junit测试可以';t使用';mvn清洁安装';在窗户上,java,eclipse,maven,unit-testing,junit,Java,Eclipse,Maven,Unit Testing,Junit,我的相关pom部分如下: <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <

我的相关pom部分如下:

 <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12</version>
                <configuration>
                    <forkMode>always</forkMode>
                </configuration>
            </plugin>
        </plugins>
    </build>
加载文件时,每一行都由以下代码解析和验证:

String[] entry = line.split("\\|");
if (entry.length != 3) {
   log.error(String.format("Invalid line: %s in %s " + line, filePath));
}
那么“entry”应该由3个元素组成:{”♥", "+", "爱“}。这说明在Eclipse Windows或Ubuntu机器上运行时解析是正确的,但在Windows上的命令行中运行时解析失败

现在的问题是,为什么在解析或断言此条件时失败?我怀疑这是由于编码。可能是在Windows上的终端上运行时,心脏符号可能会遇到编码问题,但是,在我的pom.xml中,我有以下几行代码:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>

UTF-8
UTF-8

所以我很困惑为什么会这样。好的是,我现在发现了问题所在。

您在windows上遇到任何异常吗?是的,错误消息说某些类无法初始化。将堆栈跟踪添加到原始问题有助于其他人解决此问题。在单元测试中,您对环境做了一些假设,但这些假设并不总是正确的。请参阅我的编辑。谢谢
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>