1

我正在尝试使用此处此处的说明将 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 没有任何问题,它具有代理的所有配置并使用我们自己的工件。

4

0 回答 0