看了下依赖树,似乎是因为 org.powermock 引入了 hamcrest-core 导致 junit 无法引入,但 junit
在前面,按道理应该它应该将 hamcrest-core 引入到 compile scope 。

[INFO]
------------------------------------------------------------------------
[INFO] Building Flink : Test utils : Junit 1.12.2
[INFO]
------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:3.1.1:tree (default-cli) @
flink-test-utils-junit ---
[INFO] org.apache.flink:flink-test-utils-junit:jar:1.12.2
[INFO] +- junit:junit:jar:4.12:compile
[INFO] +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.12.1:compile
[INFO] +- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
[INFO] +- org.apache.logging.log4j:log4j-core:jar:2.12.1:compile
[INFO] +- org.apache.flink:force-shading:jar:1.12.2:compile
[INFO] +- org.slf4j:slf4j-api:jar:1.7.15:compile
[INFO] +- com.google.code.findbugs:jsr305:jar:1.3.9:compile
[INFO] +- org.mockito:mockito-core:jar:2.21.0:test
[INFO] |  +- net.bytebuddy:byte-buddy:jar:1.8.15:test
[INFO] |  +- net.bytebuddy:byte-buddy-agent:jar:1.8.15:test
[INFO] |  \- org.objenesis:objenesis:jar:2.1:test
[INFO] +- org.powermock:powermock-module-junit4:jar:2.0.4:test
[INFO] |  +- org.powermock:powermock-module-junit4-common:jar:2.0.4:test
[INFO] |  |  +- org.powermock:powermock-reflect:jar:2.0.4:test
[INFO] |  |  \- org.powermock:powermock-core:jar:2.0.4:test
[INFO] |  |     \- org.javassist:javassist:jar:3.24.0-GA:test
[INFO] |  \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.powermock:powermock-api-mockito2:jar:2.0.4:test
[INFO] |  \- org.powermock:powermock-api-support:jar:2.0.4:test
[INFO] +- org.hamcrest:hamcrest-all:jar:1.3:test
[INFO] \- org.apache.logging.log4j:log4j-1.2-api:jar:2.12.1:test
[INFO]
------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO]
------------------------------------------------------------------------


Zhiwen Sun



On Fri, May 28, 2021 at 11:12 AM Zhiwen Sun <pens...@gmail.com> wrote:

> 谢谢,看了下,junit 的确依赖 org.hamcrest ,而且相关版本都没问题。
>
> 那这个报错的原因是什么呢? 什么地方导致 hamcrest 被 exclude 了?然后手动增加了dependency 就好了? 代码拉下来没修改过。
>
> Zhiwen Sun
>
>
>
> On Fri, May 28, 2021 at 10:58 AM Shuo Cheng <njucs...@gmail.com> wrote:
>
>> Hi, org.hamcrest 是 junit 的依赖
>>
>> On Fri, May 28, 2021 at 10:28 AM Zhiwen Sun <pens...@gmail.com> wrote:
>>
>> > 才编译到 Test utils : Junit 模块,就报错了
>> >
>> > maven 版本: 3.2.5
>> > jdk 版本:1.8.0_251
>> > flink 版本: flink 1.12.2
>> > 执行的命令:mvn clean install -DskipTests -Dfast
>> >
>> > 错误信息:
>> >
>> > [ERROR] COMPILATION ERROR :
>> > [INFO] -------------------------------------------------------------
>> > [ERROR]
>> >
>> >
>> /data/flink-release-1.12.2/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/core/testutils/CommonTestUtils.java:[38,27]
>> > package org.hamcrest does not exist
>> > [ERROR]
>> >
>> >
>> /data/flink-release-1.12.2/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/core/testutils/CommonTestUtils.java:[38,1]
>> > static import only from classes and interfaces
>> > [ERROR]
>> >
>> >
>> /data/flink-release-1.12.2/flink-test-utils-parent/flink-test-utils-junit/src/main/java/org/apache/flink/core/testutils/CommonTestUtils.java:[39,27]
>> > package org.hamcrest does not exist
>> >
>> > [INFO] Reactor Summary:
>> > [INFO]
>> > [INFO] Flink : Tools : Force Shading ...................... SUCCESS [
>> >  1.042 s]
>> > [INFO] Flink : ............................................ SUCCESS [
>> >  1.404 s]
>> > [INFO] Flink : Annotations ................................ SUCCESS [
>> >  0.735 s]
>> > [INFO] Flink : Test utils : ............................... SUCCESS [
>> >  0.042 s]
>> > [INFO] Flink : Test utils : Junit ......................... FAILURE [
>> >  0.283 s]
>> >
>> >
>> > 看起来是缺少 org.hamcrest  相关依赖
>> > 我看 flink-test-utils-parent/pom.xml 和 flink-test-utils-junit/pom.xml
>> > 的确没加 org.hamcrest 相关依赖, 不知道这个是怎么工作的。
>> >
>> > 请问大家下,原因是什么呢?
>> >
>> >
>> > Zhiwen Sun
>> >
>>
>

回复