解决的问题
1,jar包不用放到工程中,而是引用
2,提供了一个jar的统一下载地点。方便
3,jar下载过程中,相关的依赖也会自动的下载过来,帮我们记住了依赖关系。
maven 是什么
1,服务java的自动化构建工具。
构建:
以我们写的java 代码 ,配置文件,html css jsp 等文件作为原材料。生产处可以运行的一个整体。
制作的过程:
1,编译 ,其实就是jdk做的事
2,部署 编译后,还要打包 ,放到容器的具体问题
运行时环境:就是那些jre的jar 和自己maven中的jar
编译问题。
动态的web工程,其实就是将webcontent下边的东西都放在 项目下,和classes同级别。
目录只是为了编译做准备。
maven的整体过程
1,清理:是将之前编译的问题删除。
2,编译:
3,测试:自动化的测试,调用junit。
4,报告:就是测试的结果。
5,打包:web工程就是war包, 如果是java工程就是jar
6,安装:Maven的特定概念。将打包的文件复制到本地仓库的具体位置
7,部署:将war包复制到Servlet容器的指定位置。
因为maven是java写的,运行也是需要jdk
maven的目录结构:为了自动化的构建,主要是编译。
项目名
src
pom.xml
src
main
test
main
java
resource
maven 命令的执行
必须在pom.xml所在的目录执行编译等命令
常用命令 在命令行的执行
mvn clean
mvn compile
关于联网的问题
因为在编译的时候,需要maven的许多插件来进行工作。核心程序中并不包含这些,所以需要下载。
没有的化,第一部会在本地仓库看看有没有,如果没有再联网下载。l如果无法联网,则构建失败。
本地仓库的默认地址就是用户的家目录。.m2\repository
可以修改默认地址
命令解析
mvn compile
mvn test-compile 就是贱test目录的编译
mvn package 会生成jar 还有测试报告。 只打包main的代码
mvn clean 将target 文件夹删除。