【问题标题】:How to include the name of the module+configuration into the IvyIDEA library name in Intellij如何在 Intellij 中将模块+配置的名称包含到 IvyIDEA 库名称中
【发布时间】:2016-12-27 12:55:12
【问题描述】:

我有一个带有多个配置的 ivy.xml 文件的 Web 项目 - 编译、提供和测试。对于部署,我想将某些依赖项设置为包含在 .war 文件中(编译),但不包含其他依赖项。

到目前为止,我能够将 IvyIDEA 插件设置为仅解析特定的 ivy 配置,但对于我来说,我无法弄清楚如何为每个配置创建多个 IvyIDEA 库。

根据以下链接,这是可能的,但它们没有提供其他详细信息:

https://github.com/guymahieu/ivyidea/issues/90

https://github.com/guymahieu/ivyidea/issues/99

根据第一个链接,“IvyIDEA配置中有一个选项将模块+配置的名称包含在IDEA库名称中”,但我找不到这个选项。

根据第二个链接,“在 IvyIDEA 设置中有一个选项可以为每个配置创建一个 IDEA 库”,但我找不到这个选项。

任何帮助将不胜感激。

【问题讨论】:

    标签: java intellij-idea ivy


    【解决方案1】:

    这是我自己偶然想到的。原来我找错地方了。

    查看的正确位置在文件>设置下,或按Ctrl + Alt + S

    您可以从那里从设置窗格中选择 IvyIDEA(对我来说,它就在 Tools 的下方)。在这个窗口中有一个名为“Resolved Library Naming”的部分,您可以在其中选择“Include Module Name”和/或“Include Configuration Name”。

    完成此操作后,右键单击您的项目,然后选择 IvyIDEA > Resolve,您应该会在“外部库”下看到组织好的库。

    使用这些,您可以定义将哪些部署到您的 .war 文件中。

    【讨论】:

      【解决方案2】:

      WAR 文件将由 ANT 构建。使用 ivy retrieve 任务创建一个包含“编译”依赖项的目录,如下所示:

      <ivy:retrieve pattern="${lib.dir}/[artifact]-[revision].[ext]" conf="compile"/>
      
      <war destfile="${war.file}" webxml="${resources.dir}/web.xml">
          <fileset dir="${resources.dir}" excludes="web.xml"/>
          <lib dir="${lib.dir}"/>
      </war>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多