我正在尝试运行Evosuite客户端模块的测试,但是当我尝试单独编译模块时,Maven无法找到同一个存储库中的依赖项(evosuite-runtime),并且在我编译完整的依赖项时可以正确构建资料库。

看一下客户端模块的POM,依赖版本写为$ {project.version},我假设它没有找到要编译的版本。显示如下:


[警告]无法在项目evosuite-client上执行目标:无法解决项目org.evosuite:evosuite-client:jar:1.0.7-SNAPSHOT的依赖项:找不到工件org.evosuite:evosuite-runtime:jar:1.0 .7快照

...

[错误]无法在项目evosuite-client上执行目标:无法解析项目org.evosuite:evosuite-client:jar:1.0.7-SNAPSHOT的依赖项:找不到工件org.evosuite:evosuite-runtime:jar:1.0 .7快照


将版本更改为1.0.6时,它可以正常工作,因为该版本在online maven repository上可用,但是1.0.7版本应即时在本地编译。

这是客户的模块pom部分

<dependency>
    <groupId>org.evosuite</groupId>
    <artifactId>evosuite-runtime</artifactId>
    <version>${project.version}</version>
</dependency>


和主项目pom的模块部分

<modules>
    <module>master</module>
    <module>client</module>
    <module>runtime</module>
    <module>plugins</module>
    <module>standalone_runtime</module>
    <module>shaded</module>
    <module>generated</module>
</modules>


有人遇到过类似的问题吗?

最佳答案

原因是运行时程序包需要本地安装才能用于编译客户端。只需从根模块运行

mvn install


就是这样。

08-28 23:09