我正在尝试使用此处和此处的说明将 evosuite 集成到我的 maven 项目中。
我可以毫无问题地构建项目(全新安装)。我可以毫无问题地执行evosuite:help
或目标。evosuite:prepare
但是我对evosuite:generate
目标有疑问。下载传递依赖项时出现问题。
我们正在使用我们自己的中央存储库,其中包含 evosuite 或 evosuite 插件所需的所有 jar,但我可以在日志中看到evosuite:generate
目标尝试连接到默认的 maven 中央存储库(repo.maven.apache.org)
而不是我配置的存储库。
例如; 我的 paren pom 中有以下配置:
<repositories>
<repository>
<id>central</id>
<name>bintray</name>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>https://jcenter.bintray.com</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>central</id>
<name>bintray-plugins</name>
<url>http://jcenter.bintray.com</url>
</pluginRepository>
</pluginRepositories>
所以当我执行时clean install
,它会从jcenter.bintray.com
Downloading: http://jcenter.bintray.com/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom
Downloaded: http://jcenter.bintray.com/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom (4 KB at 3.1 KB/sec)
Downloading: http://jcenter.bintray.com/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom
Downloaded: http://jcenter.bintray.com/org/apache/maven/plugins/maven-plugins/22/maven-plugins-22.pom (13 KB at 20.7 KB/sec)
但是在执行evosuite:generate
时它会从 repo.maven 下载一些工件,这是为什么呢?如何强制它引用我们的自定义 repo(上面示例中的 jcenter)
这是相同的完整日志。
在调试模式下执行,我看到一个警告
The pom for <name> is invalid, transitive dependencies (if any) will not be available
我已经删除了 .m2 文件夹,检查了 jars,手动下载了 jars 并通过 pom 中的本地 url 引用它们。但它并没有解决问题。
当您从没有代理或其他网络限制的环境中执行时,目标执行得很好。因此,我相信如果我能够在目标evosuite:generate
执行时使用我们的 repo 而不是 maven 默认的,我可能能够解决这个问题。
注意:我认为 setting.xml 没有任何问题,它具有代理的所有配置并使用我们自己的工件。