Maven的依赖机制

如果想使用Log4j作为项目的日志

在传统的方式中

1.访问 http://logging.apache.org/log4j/

2.下载 Log4 j的 jar 库

3.复制 jar 到项目类路径

4.手动将其包含到项目的依赖

5.所有的管理需要一切由自己做

注:如果想更新版本,重新来一遍上述操作

在Maven中

//在pom,xml文件中加入
<dependencies>
    <dependency>
    //------------------------------------------- 该三行为坐标
    <groupId>log4j</groupId> //这是项目组的编号,这在组织或项目中通常是独一无二的
    <artifactId>log4j</artifactId> //这是项目的ID 
    <version>1.2.14</version> //项目的版本
    //--------------------------------------------
    </dependency>
</dependencies>

当 Maven 编译或构建,log4j 的 jar 会自动下载,并把它放到 Maven 本地存储库

Maven的生命周期

生命周期阶段                描述
validate                验证项目是否正确,并且所有必要的信息可用于完成构建过程
initialize            建立初始化状态,例如设置属性
generate-sources        产生任何的源代码包含在编译阶段
process-sources        处理源代码,例如,过滤器值
generate-resources    包含在包中产生的资源
process-resources    复制和处理资源到目标目录,准备打包阶段
compile                编译该项目的源代码
process-classes        从编译生成的文件提交处理,例如:Java类的字节码增强/优化
generate-test-sources    生成任何测试的源代码包含在编译阶段
process-test-sources    处理测试源代码,例如,过滤器任何值
test-compile            编译测试源代码到测试目标目录
process-test-classes    处理测试代码文件编译生成的文件
test                    运行测试使用合适的单元测试框架(JUnit)
prepare-package        执行必要的任何操作的实际打包之前准备一个包
package                提取编译后的代码,并在其分发格式打包,如JAR,WAR或EAR文件
pre-integration-test    完成执行集成测试之前所需操作。例如,设置所需的环境
integration-test        处理并在必要时部署软件包到集成测试可以运行的环境
pre-integration-test    完成集成测试已全部执行后所需操作。例如,清理环境
verify                    运行任何检查,验证包是有效的,符合质量审核规定
install                将包安装到本地存储库,它可以用作当地其他项目的依赖
deploy                    复制最终的包到远程仓库与其他开发者和项目共享

war包和jar包的区别

war包:做好一个web应用后,通常是网站,包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。打成包部署到容器中。war包放在tomcat目录的webapp下,tomcat服务器在启动的时候自行解压然后使用这个war包

jar包:开发时要引用通用类,打成包便于存放管理。jar包中只是用java来写的项目打包来的,里面只有编译后的class和一些部署文件