转自:https://www.cnblogs.com/V1haoge/p/6689010.html
Eclipse中安装Maven插件之后,就能很方便的管理Maven项目,在日常工作中我们经常会使用的一些命令功能总是是是而非,不明就里,这里进行了简单的研究:
1、项目菜单
Project -> Build AutoMatically勾选项
这个命令的作用就是自动编译的,当我们勾选了该命令之后,我们对项目代码作的修改,会自动的进行编译,生成class文件在target目录。
Project -> Clean
这个命令的意思就是清空之意,清空target目录下编译的文件,一般它会与自动编译命令一同使用,当项目无故报错时,可以尝试执行该命令。
通常我们会勾选Build AutoMatically勾选项,这样当我们修改了代码之后,可以自动进行编译,方便。
2、Run as -> Maven install
这个命令是打包到本地仓库之意,其实它含有两个意义:
第一,同执行Maven package一样,在target目录生成当前项目的jar包
第二,在本地仓库中安装之前生产的jar包。
这个命令其实就是两个命令的集合,先执行Maven package,然后再执行更新到本地仓库,这样的结果就是会在两个位置生成jar包,而如果我们不执行Maven install命令那么这两个地方将都不会生成最新的jar包
Run -> Maven clean
这个命令是在Maven package 或者Maven install命令执行出错时,用于清空之前生产的jar包,然后可以再次执行Maven package或者Maven install。
3、Maven Update Project...
该命令的更新项目之意,其中包含多个勾选项:
Update dependencies:更新依赖
Update project configuration from pom.xml:根据pom文件更新项目配置,我想这一般用在pom文件发生修改的时候
Refresh workspace resources from local filesystem:刷新本地工作空间资源
Clean project:清空target目录并重新编译
我觉得这个更新的最重要功能还是更新依赖,一旦我们建立好依赖关系,一般是不会经常进行修改的,这里的修改指的是pom文件的修改,只要我们没有修改pom文件,那么也就是说我们没有必要在仅仅更新项目代码的情况下去执行项目更新。
而且其实但我们修改了POM文件之后,Maven会自动执行项目更新操作。
4、服务器publish发布
这个命令是服务器命令,Eclipse整合Tomcat之后,当我们修改了源码,只需要执行publish命令就可以将修改后的内容发布到服务器目录,同时发布的还包括之前未完成的打包任务,执行publish命令会自动完成打包并将该最新包发布到服务器lib下,但是这个命令并不会更新本地仓库与target目录中的jar包,这两处只能手动执行Maven install命令来进行更新。
总结:当我们修改了源码,不论这个被修改的项目属于哪个项目,一旦我们使用服务器的publish命令就能将其自动打包发布到服务器,然后我们就可以去服务器目录下找最新的jar包,当然如果要保持本地环境jar包一致性,最好再手动执行Maven install命令。
当我们提交更新文件时完全可以先免掉Maven install执行,直接publish即可,方便快捷!