【问题标题】:How to copy maven Dependencies to ouput artifact WEB-INF/lib in Intellij IDEA?如何在 Intellij IDEA 中复制 maven 依赖项以输出工件 WEB-INF/lib?
【发布时间】:2016-09-02 05:17:46
【问题描述】:

我知道在 eclipse maven 中可以通过setting 'Deployment Assembly' and 'Build Path' 将依赖项复制到 WEB-INF/lib 目录,但是我如何使用 Intellij IDEA 实现这一点?

【问题讨论】:

    标签: java maven intellij-idea


    【解决方案1】:

    好的,我找到了解决办法:

    Intellij IDEA 中,Web 应用程序存档 (WAR) 称为artifact。 并且可以通过设置神器实现自动添加库:

    • 打开Project Structure设置窗口
    • 导航:Project Settings --> Artifacts --> **war exploded --> Output Layout --> WEB-INF
    • 然后在WEB-INF下创建一个名为lib的目录,右键lib文件夹,会看到Add Copy of-选项。
    • 选择Library Files 并添加所需的库。 [提示Ctrl + A可以在这里添加所有文件]

    【讨论】:

      【解决方案2】:

      Maven 基于构建生命周期的核心概念。这意味着明确定义了构建分发特定工件(项目)的过程。

      构建生命周期由阶段组成

      每个构建生命周期都由不同的构建阶段列表定义,其中构建阶段代表生命周期中的一个阶段。

      例如,默认生命周期包含以下阶段(有关生命周期阶段的完整列表,请参阅生命周期参考):

      • validate - 验证项目是否正确并且所有必要的信息都可用
      • compile - 编译项目源码
      • test - 使用合适的单元测试框架测试编译的源代码。这些测试不应要求打包或部署代码
      • package - 获取编译后的代码并将其打包成可分发的格式,例如 JAR。
      • verify - 对集成测试的结果进行任何检查,以确保满足质量标准
      • install - 将包安装到本地存储库中,用作本地其他项目的依赖项
      • deploy - 在构建环境中完成,将最终包复制到远程存储库以与其他开发人员和项目共享。

      Maven 项目有自己的项目架构类型。 因此,在installation 过程中,所有依赖项都添加到/lib 文件夹中。这些依赖项是pom.xml 的一部分。

      谢谢。

      【讨论】:

      • 我已经找到了解决方案,但仍然感谢您的回答。
      【解决方案3】:

      IDE 只是编码工具。为了帮助您组装/打包可部署的工件,例如战争文件,我们应该依赖构建工具。 Maven、Gradle、Ant 或任何你正在使用的东西都应该有一种方法来配置依赖项以复制到 WEB-INF/libs。 Eclipse 或 IntelliJ 都会理解这些配置。

      【讨论】:

        猜你喜欢
        • 2012-09-10
        • 2015-02-28
        • 2012-04-22
        • 2011-08-30
        • 2015-07-15
        • 2011-03-26
        • 1970-01-01
        • 1970-01-01
        • 2012-07-12
        相关资源
        最近更新 更多