maven快速入门第三讲——maven工程的标准目录结构、maven的常用命令以及maven的生命周期 àì夳堔傛蜴生んèń 2023-06-23 12:53 52阅读 0赞 # maven工程的标准目录结构 # 一个web工程都会有其标准目录结构,更何况是一个maven工程呢!那啥是maven工程呢?使用maven创建的工程我们就称它为maven工程。maven工程具有一定的目录规范,如下图所示。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70] # maven的常用命令 # 假设在这里我们已经拥有了一个maven工程,例如helloworld。有同学不仅想问了,这个maven工程给咋整出来啊?既然你都知道了maven工程的标准目录结构了,难道你不会自己手动建个maven工程啊?非得把饭喂你嘴边啊!算了,我还是提供这个maven工程的网盘下载地址吧! * 百度网盘下载链接:[https://pan.baidu.com/s/1R6tBNl0VoDhK7tBurIcu\_A][https_pan.baidu.com_s_1R6tBNl0VoDhK7tBurIcu_A],提取码: xa93 ## maven工程运行演示 ## 同学们可以通过以上链接下载下来那个maven工程,然后通过使用maven提供的命令来运行maven工程,体会maven构建工程的优点。首先,打开命令行窗口,就是那个黑黑的窗口,然后进入maven工程目录(当前目录有pom.xml文件)下,接着运行`mvn tomcat7:run`命令。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 1] 大家初次运行以上maven命令时,可能不是像上图所展示的那样,而是有可能像下面这样。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 2] 运行了以上maven命令之后,出现了好多的`Downloading ...`这样的提示信息。为啥会出现这些提示信息呢?你还记得maven工程在查找jar包时,遵循的是什么样的顺序吗?maven工程运行时先从本地仓库找jar包,若本地仓库没有则再从中央仓库找,因此上边提示的`Downloading ...`信息表示在从中央仓库下载jar包。你现在知道为什么我运行`mvn tomcat7:run`命令时,没有`Downloading ...`这样的提示信息了吧!因为本地仓库中已经有了相应的jar包(也是从中央仓库下载下来的)了。 根据上边运行`mvn tomcat7:run`命令之后的提示信息,我们可以打开Google Chrome浏览器,并在浏览器地址栏中输入`http://localhost:8080/helloworld`这样的url地址进行访问,效果将如下图所示。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 3] 以上就是maven项目的一键构建,即使用一个`mvn tomcat7:run`命令就能把项目运行起来。 ## mvn compile ## compile是maven工程的编译命令,作用是将src/main/java下的java源文件编译为class文件并输出到target下的classes目录下。 下面我就来演示一下该编译命令。首先进入maven工程目录(当前目录有pom.xml文件)下,然后运行一下`mvn compile`命令。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 4] 编译成功之后,可以看到helloworld项目的根目录下多了一个target文件夹,这个文件夹就是编译成功之后maven帮我们生成的文件夹,如下图所示。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 5] 打开target文件夹,可以看到里面有一个classes文件夹,classes文件夹中存放的就是maven帮我们编译好的Java类,如下图所示。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 6] 这就是使用maven自动编译项目的过程。 ## mvn clean ## clean是maven工程的清理命令,执行该命令会删除target目录及其目录下的所有内容。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 7] ## mvn test ## test是maven工程的测试命令,运行该命令会执行src/test/java下的单元测试类。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 8] 测试成功之后,可以看到helloworld项目的根目录下多了一个target文件夹,这个文件夹就是测试成功之后maven帮我们生成的文件夹,如下图所示。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 9] 打开target文件夹,可以看到里面有一个classes和test-classes文件夹,如下图所示。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 10] 也就是说,如果执行了`mvn test`命令来测试项目,那么maven会先帮我们编译项目,然后再运行src/test/java下的单元测试类。 ## mvn package ## package是maven工程的打包命令,对于普通的Java工程来说,执行该命令,会打成jar包,对于web工程来说,执行该命令,会打成war包。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 11] 打包成功之后,可以看到helloworld项目的根目录下的target文件夹中多了一个helloworld-0.0.1-SNAPSHOT.war,这个helloworld-0.0.1-SNAPSHOT.war就是打包成功之后maven帮我们生成的war文件,如下图所示。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 12] ## mvn install ## install是maven工程的安装命令,执行该命令,会将maven工程打成jar包或war包并发布到本地仓库中。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 13] 安装成功之后,首先会在helloworld项目的根目录下生成target文件夹,打开target文件夹,可以看到里面会有helloworld-0.0.1-SNAPSHOT.war,这个helloworld-0.0.1-SNAPSHOT.war就是安装成功之后maven帮我们生成的war文件,如下图所示。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 14] 除此之外,在我们的本地仓库中也会有一个helloworld-0.0.1-SNAPSHOT.war,所以maven安装项目的过程,实际上就是把项目进行了【清理】→【编译】→【测试】→【打包】,再把打包好的war包放到我们指定的存放jar包的maven仓库中,如下图所示。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 15] 结论:使用了`mvn install`命令,就把maven构建项目的【清理】→【编译】→【测试】→【打包】的这几个过程都做了,同时将打包好的jar包或者war包发布到本地的maven仓库中,所以maven最常用的命令还是`mvn install`,这个命令能够做的事情最多。 ## 组合使用maven的命令 ## maven的编译、清理、测试、打包以及部署这几个命令可以同时组合起来使用,常用的命令组合有`mvn clean compile`,即先清理再编译。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 16] 还有的就是`mvn clean test`、`mvn clean package`、`mvn clean install`这些组合命令也都比较常用。 # maven的生命周期 # ## maven的生命周期是什么? ## maven的生命周期就是为了对所有的构建过程进行抽象和统一,开发了一套高度完善的、易扩展的生命周期。这个生命周期包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成等几乎所有构建步骤。换句话说,几乎所有项目的构建,都能映射到这样一个生命周期上。 ## 详解maven的生命周期 ## maven对项目构建过程分为三套相互独立的生命周期,请注意这里说的是"三套",而且是"相互独立"的,这三套生命周期分别是: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 17] 虽然maven有以上三套生命周期,但是一般用的最多的是Clean Lifecycle(项目清理)和Default Lifecycle(默认构建)。还有,我们得清楚地知道,每套生命周期都由一组阶段(Phase)组成的,这些阶段是有顺序的,并且后面的阶段依赖于前面的阶段。我们平时在命令行输入的命令总会对应于一个特定的阶段,比如说运行`mvn clean`命令,这个`clean`就是Clean生命周期的一个阶段。这样说来,我们和maven最直接的交互方式就是通过调用这些生命周期阶段。下面,我就来说说每套生命周期都具体包含哪些阶段。 再次强调一遍,和生命周期阶段的前后依赖关系相比,这三套生命周期本身是相互独立的,我们可以仅仅调用Clean生命周期的某个阶段,或者仅仅调用Default生命周期的某个阶段,而不会对其它生命周期产生任何影响。也就是说,你可以仅仅调用`clean`来清理工作目录,或者仅仅调用`site`来生成站点,当然了,你也可以直接执行`mvn clean install site`命令来运行所有这三套生命周期。 ### Clean生命周期(Clean Lifecycle) ### Clean Lifecycle的目的是在进行真正的构建之前进行一些清理工作。Clean生命周期一共包含了三个阶段: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 18] `mvn clean`命令中的`clean`就是上面的`clean`。从上面可以看到,每一个阶段都有一个对应的命令,且有相应的插件来支持命令的运行。还有非常重要的一点我们得知道,**属于同一个生命周期内的命令,当后面的命令执行时,前面的命令都会自动执行。** 即在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行,也就是说,`mvn clean`等同于`mvn pre-clean clean`,如果我们运行`mvn post-clean`,那么`pre-clean`、`clean`以及`post-clean`都会被运行。这是maven很重要的一个规则,可以大大简化命令行的输入。 ### Default生命周期(Default Lifecycle) ### Default Lifecycle是构建的核心部分,包括编译、测试、打包、部署等等,Default生命周期是maven生命周期中最重要的一个,绝大部分工作都发生在这个生命周期中。这里,只介绍一些比较重要和常用的阶段。 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 19] 这里,再说一遍,运行任何一个阶段的时候,它前面的所有阶段都会被运行,这也就是为什么我们运行`mvn install`的时候,代码会被编译、测试、打包。此外,maven的插件机制是完全依赖maven的生命周期的,因此理解生命周期至关重要。 ### Site生命周期(Site Lifecycle) ### Site生命周期的目的是建立和发布项目站点,maven能够基于POM所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。该生命周期包含如下阶段: ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 20] 这里经常用到的是`site`阶段和`site-deploy`阶段,用以生成和发布项目站点,这可是maven相当强大的功能,manager比较喜欢,因为可以自动生成文档及统计数据,而且还很好看。 ## 总结 ## 每个maven命令对应生命周期的某个阶段,例如,`mvn clean`命令对应Clean生命周期的`clean`阶段,`mvn test`命令对应Default生命周期的`test`阶段。而且,执行某个命令会将该命令所在的生命周期当中之前的阶段自动执行,比如说,执行`mvn clean`命令会自动执行`pre-clean`和`clean`这两个阶段,`mvn test`命令会自动执行`validate`、`compile`、`test`等阶段。还有一点需要我们注意,**执行某个生命周期的某个阶段不会影响其它的生命周期!** 如果要同时执行多个生命周期的阶段,那么可在命令行中输入多个命令,并且它们中间以空格隔开,例如,`clean package`该命令执行Clean生命周期的`clean`阶段和Default生命周期的`package`阶段。 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70]: https://img-blog.csdnimg.cn/20191219084812338.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [https_pan.baidu.com_s_1R6tBNl0VoDhK7tBurIcu_A]: https://pan.baidu.com/s/1R6tBNl0VoDhK7tBurIcu_A [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 1]: https://img-blog.csdnimg.cn/20191219093931508.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 2]: https://img-blog.csdnimg.cn/20191219105610421.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 3]: https://img-blog.csdnimg.cn/20191219093938313.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 4]: https://img-blog.csdnimg.cn/20191219115215129.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 5]: https://img-blog.csdnimg.cn/20191219115221768.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 6]: https://img-blog.csdnimg.cn/20191219115232829.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 7]: https://img-blog.csdnimg.cn/20191219115239848.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 8]: https://img-blog.csdnimg.cn/20191219115247471.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 9]: https://img-blog.csdnimg.cn/20191219115254884.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 10]: https://img-blog.csdnimg.cn/20191219115300807.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 11]: https://img-blog.csdnimg.cn/20191219115308554.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 12]: https://img-blog.csdnimg.cn/20191219115311977.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 13]: https://img-blog.csdnimg.cn/20191219122127251.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 14]: https://img-blog.csdnimg.cn/20191219122130391.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 15]: https://img-blog.csdnimg.cn/20191219122142249.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 16]: https://img-blog.csdnimg.cn/2019121912282372.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 17]: https://img-blog.csdnimg.cn/20191220094410530.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 18]: https://img-blog.csdnimg.cn/20191220094442910.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 19]: https://img-blog.csdnimg.cn/20191220094451731.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70 [watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA_size_16_color_FFFFFF_t_70 20]: https://img-blog.csdnimg.cn/20191220094500208.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9saWF5dW4uYmxvZy5jc2RuLm5ldA==,size_16,color_FFFFFF,t_70
相关 maven快速入门第十三讲——使用maven整合SSH 前言 在本讲中,我会使用maven来整合Hibernate-5.0.7.Final、Struts-2.3.24和Spring-4.2.4.RELEASE这三个框架,实现从 我就是我/ 2023年06月25日 04:58/ 0 赞/ 64 阅读
相关 maven快速入门第十讲——使用maven分模块构建工程 在上一讲中,我们对工程的拆分、聚合以及继承这三个思想有了一定的认识,有了思想才能指导实践操作,接下来,我会将一个工程拆分成多个模块来进行开发。 在平时的Java Web项目开 亦凉/ 2023年06月25日 03:08/ 0 赞/ 78 阅读
相关 maven快速入门第九讲——maven工程的拆分、聚合以及继承思想 工程的拆分 不知你有没有想过,一个好好的maven工程为什么要进行拆分呢?面对当今互联网+的行业,软件项目变得越来越庞大,复杂程度越来越高,这大大地提高了开发与管理的成本 太过爱你忘了你带给我的痛/ 2023年06月25日 02:08/ 0 赞/ 55 阅读
相关 maven快速入门第四讲——maven的概念模型 maven包含了一个项目对象模型(Project Object Mobel)、一组标准集合、一个项目生命周期(Project Lifecycle)、一个依赖管理系统(Depen 今天药忘吃喽~/ 2023年06月24日 11:26/ 0 赞/ 61 阅读
相关 maven快速入门第三讲——maven工程的标准目录结构、maven的常用命令以及maven的生命周期 maven工程的标准目录结构 一个web工程都会有其标准目录结构,更何况是一个maven工程呢!那啥是maven工程呢?使用maven创建的工程我们就称它为maven工程 àì夳堔傛蜴生んèń/ 2023年06月23日 12:53/ 0 赞/ 53 阅读
相关 Maven 常用命令与生命周期 常用命令 mvn clean > compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译为 class 文件输出到 t ゞ 浴缸里的玫瑰/ 2023年06月17日 15:58/ 0 赞/ 55 阅读
相关 Maven的常用命令与生命周期 清理命令:clean 把根目录下的target目录进行删除 ![在这里插入图片描述][20200620152253856.png] 编译命令 compile 把文件进行 野性酷女/ 2023年02月19日 11:29/ 0 赞/ 40 阅读
相关 Maven-学习笔记03【基础-Maven标准目录结构和常用命令】 > [Java后端 学习路线 笔记汇总表【黑马程序员】][Java_ _] > [黑马程序员(腾讯微云)Maven基础讲义.pdf][Maven_.pdf] > 客官°小女子只卖身不卖艺/ 2022年10月31日 04:25/ 0 赞/ 262 阅读
相关 【Maven】——Maven生命周期以及基本命令 前提 在这几年的项目中maven使用的非常多,主要是系统的整理一下,一方面是查漏补缺,另一方面是希望可帮助正在学习这一步的朋友。maven的概要请见[【Maven 蔚落/ 2022年05月29日 01:05/ 0 赞/ 246 阅读
还没有评论,来说两句吧...