本文共 5085 字,大约阅读时间需要 16 分钟。
本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人。
上篇文章我们初步使用了Maven工具,只不过是在命令行窗口中使用它,这种方式虽然能最大限度发挥一个工具的所有功能,但却是不怎么友好。
本篇文章我们就把Maven集成到Eclipse中(也可以集成到其他的IDE工具中)。
事实上,如果我们的Eclipse是较新版本的话,那么它本身已经内嵌了Maven工具,我们可以这样查看:
可以看到这个内嵌的Maven版本是3.5.3,而此插件的版本是1.10.0.20181127-2120。
另外,较新版本的Eclispe(我的Eclipse是Java EE版的)中还有一个 m2e-wtp 插件,我们可以这样查看它的信息:
可以看到 m2e-wtp 的版本是1.4.1.20181128-2152,这个与上述的内嵌Maven的版本不一致,所以它们应该不是同一个插件。
事实上,点击Eclispe关于信息对话框底部的 Installation Details 按钮也可以找到所有插件,使用过滤器能够更快速找到你想要找的插件,我这里输入 m2 ,结果得到:
事实上,还可以看到有一个 m2e 插件。
这个m2e又是Eclipse的另外一个插件,实际上它才应该是专门为Maven集成到Eclipse而开发的插件,全名叫M2Eclipse,Maven的官网上有所描述:
较新版本的Eclispe中同样也安装了它,同上面查看 m2e-wtp 插件一样,Eclispe的插件列表中也能看到它:
点击该图标即可看到它更详细的信息:
可以看到这个 m2e 插件的版本是1.10.0.20181127-2120,而这个与上述的内嵌Maven的版本是一样的,由此可见,它们应该是同一个插件。
那如果没有安装此插件的话,应该如何来安装呢?
在上面m2e的官网描述中有个链接,我们可以进入到m2e的页面(https://www.eclipse.org/m2e/):
上面说可以在Eclispe中,通过红色的那个网站来安装最新版本的m2e插件。那该怎么在Eclipse中安装呢?
首先,通过 Help -> Install New Software... 菜单打开安装插件的界面:
然后,在插件安装界面中点击右上角的 Add... 按钮,在弹出的对话框中输入名字(可以随意)和插件的URL地址(即上述m2e官网中所说的URL):
确定后,需要等待一段时间,中部列表框中就会展示出m2e插件及其包含的所有组件:
点击底部的 Next 按钮,Eclipse会分析和计算安装条件:
这一步需要等待的时间比较长,而最后我这出现的结果是不能完成该安装:
我想可能是因为我的Eclipse中已经有了m2e插件了吧,但应该帮我直接更新才对。我没有继续点击Next按钮了,因为我担心又需要等很长时间。
其实,我这个Eclipse内嵌Maven(即m2e插件中的Maven,以后都使用内嵌Maven来称呼吧)的版本也不算低了,但如果还希望使用最新版本的Maven(比如,上篇文章安装的3.6.2版本)怎么办呢?
首先,我们需要独立安装Maven,可以参考上篇文章。
然后,我们要打开Eclipse首选项对话框,然后展开Maven节点,点击Installations节点:
点击右侧的 Add... 按钮,弹出 New Maven Runtime 对话框:
点击 Directory... 按钮,输入独立安装的Maven的目录,然后点击 Finish 按钮:
最后,勾选这个我们独立安装的Maven即可。
这样,我们就能在Eclipse中使用我们自己独立安装的Maven了。
现在,我们就可以在Eclipse中操作Maven工程了。
当然,我们可以直接创建一个新的Maven工程,也可以导入一个已经存在的Maven工程。
我们先导入上篇文章创建的Maven工程试试。
首先,需要打开 import 对话框,可以通过以下两种方式:
然后,在 import 对话框中找到 Maven 节点中的 Existing Maven Projects 并选中它,点击 Next 按钮:
在 Import Maven Projects 对话框中输入Maven工程的目录(我使用上篇文章建立的Maven工程 my-app),它自然会搜索该目录下的POM文件,然后点击 Finish 按钮即可。
导入的Maven工程结构是这样的:
上面导入的Maven工程 my-app 的工程结构中,需要关注一下几点:
实际上,工程节点上的警告图标问题就是由 JRE System Library 这个节点后面是 JavaSE-1.7 而引起的。
之所以会是1.7,原因在于该工程的POM文件中配置是 1.7。我们可以直接双击工程结构中的pom.xml节点,在Eclipse的编辑框中就可以打开该文件(就类似打开java源码文件一样,实际上任何文本文件都可以这样打开):
不过,一开始打开的可能是该文件的Overview视图,可以通过底下的一排类似于tab页的按钮切换各种视图,其中包括文本视图(最右端的pom.xml按钮)。
事实上,其他几个按钮也是非常有用的,特别是查看依赖库的时候,这里不再赘述,大家可以自己打开看看。
从打开的POM文件中我们可以看到:
UTF-81.71.7
这个1.7就是在这里配置的,我们把它们改成 1.8 并保存。
然而惊叹号问题和1.7问题并没有解决,这是何故?
原来我们还需要主动让m2e插件去更新该Maven工程。首先打开该工程的右键菜单,然后选择 Maven -> Update Project... :
在弹出的 Update Maven Project 对话框中点击 OK 按钮即可:
这样,惊叹号问题和1.7问题就解决了:
现在,还剩下一个深灰色问题,网上搜索说是需要更新仓库的索引(repository index),我尝试了一下,结果因为更新这个索引特别慢,也就没有继续下去。大家自行尝试着解决吧。
Eclipse新建Maven工程实际上跟新建Java工程(可以参考这篇文章)和Java Web工程(可以参考这篇文章)都是很类似的,只是输入的参数不太一样,也很容易通过这种可视化的方式得知各个参数的含义,大家可以自行试试,我就不再赘述了。
有了Maven工程,我们就可以编写Java源代码,这跟之前使用Eclipse编写Java源代码是没有区别的,新建Java包、类、接口等等。
现在,我们就要编译我们的Java源代码,实际上Eclipse会自动检测源代码文件的变化而自动编译(当然可以取消),但这只是生成各个Java类的字节码文件。我们现在需要的是进一步将它们打包成一个JAR包,这样才可以部署运行或者给其他开发人员使用啊。
所以说,上篇文章的 mvn package 命令还是很形象的,package就是打包的意思啊。
那在Eclipse中如何来执行这条命令呢?
也很简单,首先还是弹出该Maven工程的右键菜单,鼠标移到 Run As 菜单上:
我们可以看到,这里有不少Maven命令,大家可以自己一个一个试试,不用担心会有什么不好的事情发生,尽管放手去试。我这里就不再一一解释各个命令的含义了,以后继续介绍Maven之后就会清楚了。
我选择 Maven Build... (注意,后面带三个小圆点),它会弹出构建的配置对话框:
很明显,在目标一栏中输入 package 即可,底部也可以看到我用的是内嵌Maven,当然你也可以通过右端的 Configure... 按钮选择独立安装的Maven,随你喜欢了。
最后点击 Run 按钮就可以执行我们的构建过程了,结果很不错,构建成功:
事实上,我们也可以选择右键菜单中的 Run As -> Run Configurations... 来配置构建参数:
不过,这里不仅仅可以配置Maven构建的运行,还可以配置其他很多类型的运行,比如Java Application的运行等等。总之,要运行某种东西,那就是在这里配置了。
但是,我们可以看到 Maven Build 有很多个,那是因为我点了很多次上面右键菜单中的 Maven Build... 菜单项,Eclipse会自动保存它们,它认为你每一次点击都是要配置不同的运行参数,一般配置一次就行了。
这时候,我们如果选择上面右键菜单中的 Maven Build 菜单项(不带三个小圆点),则会弹出让你选择其中一个运行参数的配置来运行:
点击 OK 按钮就可以执行该套参数的运行了。
当然,我们还有其他途径来执行我们的Maven构建,比如通过工具栏的运行按钮:
这种方式更快捷,当然,也有 Run As 和 Run Configurations... 菜单。
这个就跟以前介绍的运行Java程序是一样的了,可以通过:
第一种方式可能需要选择,因为一个工程中包含 main() 方法的类不止一个。
当然,Java程序的运行也是一种运行,也可以使用 Run Configurations... 来配置啊。
下面是对我们导入的Maven工程 my-app 的运行结果:
嗯,也没什么问题。
从现在开始,我们以后就可以直接修改POM文件来添加第三方依赖库了,而无需我们手动去寻找、下载、配置到工程中等等。
当然,至于第三方依赖库的使用方法还是需要去它的官网找资料的。
这一篇文章主要还是介绍工具的使用,并没有详细介绍Maven的相关知识,以后有需要的时候再详细介绍。
转载地址:http://wynzx.baihongyu.com/