如何在Intellij IDEA中复制maven依赖项以输出工件WEB-INF / lib?
我知道在eclipse maven中可以通过setting 'Deployment Assembly' and 'Build Path'
将依赖关系复制到WEB-INF / lib目录,但是如何通过Intellij IDEA实现这一点?
好的,我找到了一个解决方案:
在Intellij IDEA
,Web应用程序归档( WAR )称为工件 。 您可以通过设置工件来自动添加库:
- 打开
Project Structure
设置窗口 - 导航:
Project Settings --> Artifacts --> **war exploded --> Output Layout --> WEB-INF
- 然后在WEB-INF下创建一个名为lib的目录,右键单击lib文件夹,您将看到
Add Copy of-
option。 - 选择
Library Files
并添加所需的库。 [ 提示 :Ctrl + A
可以在这里添加所有文件]
Maven
基于构建生命周期的核心概念。 这意味着明确定义了构建和分发特定工件(项目)的过程。
构建生命周期由阶段组成
这些构建生命周期中的每一个都由不同的构建阶段列表定义,其中构建阶段表示生命周期中的阶段。
例如,默认生命周期包括以下阶段(有关生命周期阶段的完整列表,请参阅生命周期参考):
-
validate
– validation项目是否正确并且所有必要信息都可用 -
compile
– 编译项目的源代码 -
test
– 使用合适的unit testing框架测试编译的源代码。 这些测试不应要求打包或部署代码 -
package
– 获取已编译的代码并将其打包为可分发的格式,例如JAR。 -
verify
– 对集成测试结果进行任何检查,以确保满足质量标准 -
install
– 将软件包安装到本地存储库中,以便在本地用作其他项目的依赖项 -
deploy
– 在构建环境中完成,将最终包复制到远程存储库以与其他开发人员和项目共享。
Maven
Project有自己的项目架构类型。 因此,在installation
过程中,所有依赖项都会添加到/lib
文件夹中。 这些依赖项是pom.xml
一部分。
谢谢。
IDE只是编码的工具。 为了帮助您组装/打包可部署工件,比如war文件,我们应该依赖构建工具。 Maven,Gradle,Ant或您正在使用的任何内容应该有一种方法来配置依赖项以复制到WEB-INF / libs。 Eclipse或IntelliJ都会理解这些配置。