我正在尝试运行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
就是这样。