【问题标题】:Arquillian Shrinkwrap provide custom settings.xml fileArquillian Shrinkwrap 提供自定义 settings.xml 文件
【发布时间】:2015-07-16 17:39:18
【问题描述】:

我已经建立了一个 arquillian 项目,它在本地运行良好,但是在我们的持续集成盒上运行 maven 构建时它失败了。我设法找到了问题的根源,这是因为 CI 框上的 maven 用户 settings.xml 文件实际上有一些服务器定义(用于另一个项目),而在我的机器本地它是默认文件(没有定义服务器)。测试会抛出 RuntimeException,因为 MavenResolver 会寻找 CI 框上不存在的 settings-security.xml 文件。

我不想去添加 settings-security.xml 而是想为解析器提供一个“空”的 settings.xml 文件,或者更好的是,告诉它不要使用一个。这可能吗?

我尝试了这个线程 https://developer.jboss.org/thread/174873 的答案,它几乎说要在故障安全插件中添加以下选项:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                 <version>2.9</version><!-- or upper -->
                        <configuration>
                            <systemPropertyVariables>
                                   <org.apache.maven.user-settings>nonExistentSetting.xml</org.apache.maven.user-settings>
                             </systemPropertyVariables>
                        </configuration>
</plugin>

如果我这样做并提供一个不存在的 xml 文件,那么在运行“mvn clean install”的命令行中一切正常,但是当我在我的 IDE 中调试时它仍然失败。

有没有办法可以: 告诉 maven 解析器不要使用 settings.xml / 使用“默认”文件 在我的项目中创建一个空的 settings.xml 并告诉 maven 解析器使用它

我确实在我的代码中尝试了以下行来构建我的存档,但它似乎没有效果:

.addAsLibraries(Maven.configureResolver().fromFile("test-settings.xml").loadPomFromFile("pom.xml").importRuntimeDependencies().resolve().withTransitivity().asFile())

感谢您的帮助, 克雷格

【问题讨论】:

    标签: jboss-arquillian shrinkwrap


    【解决方案1】:

    ShrinkWrap 解析器默认从

    加载 settings-security.xml
    DEFAULT_SETTINGS_SECURITY_PATH = userHome == null ? ".settings-security.xml" : userHome.concat("/.m2/settings-security.xml").replace('/', File.separatorChar);
    

    但是你可以通过设置覆盖这个位置

    System.setProperty(MavenSettingsBuilder.ALT_SECURITY_SETTINGS_XML_LOCATION,
                "someDir/empty-settings-security.xml");
    

    理论上,当提供替代位置(非空字符串)时,它应该跳过默认位置。但是我不能 100% 确定这种方法是否有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      相关资源
      最近更新 更多