博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bable怎么使用 eclipse_Java Web轻松学46 - Maven集成到Eclipse中
阅读量:5741 次
发布时间:2019-06-18

本文共 5085 字,大约阅读时间需要 16 分钟。

本系列文章旨在记录和总结自己在Java Web开发之路上的知识点、经验、问题和思考,希望能帮助更多(Java)码农和想成为(Java)码农的人。

目录

  1. 介绍
  2. Eclipse的内嵌Maven
  3. m2e-wtp插件
  4. m2e插件
  5. Eclispe使用独立安装的Maven
  6. Eclipse导入Maven工程
  7. 导入Maven工程的一些问题
  8. Eclipse新建Maven工程
  9. Eclipse构建Maven工程
  10. 运行Java程序
  11. 总结

介绍

上篇文章我们初步使用了Maven工具,只不过是在命令行窗口中使用它,这种方式虽然能最大限度发挥一个工具的所有功能,但却是不怎么友好。

本篇文章我们就把Maven集成到Eclipse中(也可以集成到其他的IDE工具中)。

Eclipse内嵌的Maven

事实上,如果我们的Eclipse是较新版本的话,那么它本身已经内嵌了Maven工具,我们可以这样查看:

  • 首先打开Eclipse首选项对话框,可以通过 Window -> Preferences 菜单:
861695102db76b9ccade75bd171f7baa.png
  • 在Eclipse首选项对话框中的左侧导航树中可以找到Maven节点,展开该节点,选中Installations节点,右侧即可看到内嵌的Maven:
44f4ed67b4bb45673e1afc2b663f8625.png

可以看到这个内嵌的Maven版本是3.5.3,而此插件的版本是1.10.0.20181127-2120。

m2e-wtp插件

另外,较新版本的Eclispe(我的Eclipse是Java EE版的)中还有一个 m2e-wtp 插件,我们可以这样查看它的信息:

  • 通过菜单 Help -> About Eclipse IDE 打开其对话框:
0c1def364a125b9ed21cbf9773270c1d.png
  • 该对话框中底部列出了已经安装的插件,其中有 m2e-wtp 插件:
58fddbdb2a8b1915fd986c7419971060.png
  • 点击 m2e-wtp 插件的图标,可以看到它的详细信息:
cbd5155c8cb99ea60f9f736f3eb9b54a.png

可以看到 m2e-wtp 的版本是1.4.1.20181128-2152,这个与上述的内嵌Maven的版本不一致,所以它们应该不是同一个插件。

事实上,点击Eclispe关于信息对话框底部的 Installation Details 按钮也可以找到所有插件,使用过滤器能够更快速找到你想要找的插件,我这里输入 m2 ,结果得到:

59a31a6c4d2509d6f6c65171e50ad537.png

事实上,还可以看到有一个 m2e 插件。

m2e插件

这个m2e又是Eclipse的另外一个插件,实际上它才应该是专门为Maven集成到Eclipse而开发的插件,全名叫M2Eclipse,Maven的官网上有所描述:

5e3af23d2ceda5115de810e0bd0b643d.png

较新版本的Eclispe中同样也安装了它,同上面查看 m2e-wtp 插件一样,Eclispe的插件列表中也能看到它:

d249da6a89ed8604f722da1f445c8882.png

点击该图标即可看到它更详细的信息:

4f7e33311314dbd65fd868310c7bba90.png

可以看到这个 m2e 插件的版本是1.10.0.20181127-2120,而这个与上述的内嵌Maven的版本是一样的,由此可见,它们应该是同一个插件。

那如果没有安装此插件的话,应该如何来安装呢?

在上面m2e的官网描述中有个链接,我们可以进入到m2e的页面(https://www.eclipse.org/m2e/):

01ad4131be1f9c84a3a35de44c0f6b42.png

上面说可以在Eclispe中,通过红色的那个网站来安装最新版本的m2e插件。那该怎么在Eclipse中安装呢?

首先,通过 Help -> Install New Software... 菜单打开安装插件的界面:

c619500652a2bf53633a8500babe86d0.png

然后,在插件安装界面中点击右上角的 Add... 按钮,在弹出的对话框中输入名字(可以随意)和插件的URL地址(即上述m2e官网中所说的URL):

e35fb3a586f0f346712d80cbfa373176.png

确定后,需要等待一段时间,中部列表框中就会展示出m2e插件及其包含的所有组件:

9895472d542d4790fbe7df529554cfb3.png

点击底部的 Next 按钮,Eclipse会分析和计算安装条件:

bd66b4c75a5f0f1b08118303dcf8bd24.png

这一步需要等待的时间比较长,而最后我这出现的结果是不能完成该安装:

94429c8a372a9f717e2a5f8e970e2774.png

我想可能是因为我的Eclipse中已经有了m2e插件了吧,但应该帮我直接更新才对。我没有继续点击Next按钮了,因为我担心又需要等很长时间。

其实,我这个Eclipse内嵌Maven(即m2e插件中的Maven,以后都使用内嵌Maven来称呼吧)的版本也不算低了,但如果还希望使用最新版本的Maven(比如,上篇文章安装的3.6.2版本)怎么办呢?

Eclipse使用独立安装的Maven

首先,我们需要独立安装Maven,可以参考上篇文章。

然后,我们要打开Eclipse首选项对话框,然后展开Maven节点,点击Installations节点:

82a34547a69da13ea201650d5ff28162.png

点击右侧的 Add... 按钮,弹出 New Maven Runtime 对话框:

27f00cae9ac36e1f790425047a37738a.png

点击 Directory... 按钮,输入独立安装的Maven的目录,然后点击 Finish 按钮:

6f665e8f4a5dac704535565ac2d46db8.png

最后,勾选这个我们独立安装的Maven即可。

这样,我们就能在Eclipse中使用我们自己独立安装的Maven了。

Eclipse导入Maven工程

现在,我们就可以在Eclipse中操作Maven工程了。

当然,我们可以直接创建一个新的Maven工程,也可以导入一个已经存在的Maven工程。

我们先导入上篇文章创建的Maven工程试试。

首先,需要打开 import 对话框,可以通过以下两种方式:

  • 菜单栏中的 File -> import... 菜单;
  • Project Explorer视图中的右键菜单中的 import -> import... 菜单。
a9d2244ed10950b681c5658994babb9b.png

然后,在 import 对话框中找到 Maven 节点中的 Existing Maven Projects 并选中它,点击 Next 按钮:

2c97ee8d02d49e2d9e5fc46e3722ae1e.png

Import Maven Projects 对话框中输入Maven工程的目录(我使用上篇文章建立的Maven工程 my-app),它自然会搜索该目录下的POM文件,然后点击 Finish 按钮即可。

导入的Maven工程结构是这样的:

342a0204d571c89cd94e0c27cf2d66e9.png

导入Maven工程的一些问题

上面导入的Maven工程 my-app 的工程结构中,需要关注一下几点:

  • 最顶层的 my-app 节点的图标左上角带有一个字母 M ,表示该工程是Maven工程(带有一个地球图标的其实是Web工程);
  • 还是最顶层的 my-app 节点的图标,左下角有个三角形状黄色背景惊叹号的警告图标,这是何故?如何解决?
  • m2e插件可以把源代码目录和测试代码目录展示出来,分别是 src/main/javasrc/test/java
  • 测试代码目录节点 src/test/java 为什么是深灰色的?可能是因为它用到了 junit 这个依赖库,而底下这个依赖库的节点也是灰色的。但为什么 junit 节点是深灰色的呢?
  • JRE System Library 这个节点后面为什么是 JavaSE-1.7?我安装的JDK版本最低也是1.8的啊;
  • m2e插件好像能把POM文件中的依赖解析出来,形成 Maven Dependencies 这个库节点。

实际上,工程节点上的警告图标问题就是由 JRE System Library 这个节点后面是 JavaSE-1.7 而引起的

之所以会是1.7,原因在于该工程的POM文件中配置是 1.7。我们可以直接双击工程结构中的pom.xml节点,在Eclipse的编辑框中就可以打开该文件(就类似打开java源码文件一样,实际上任何文本文件都可以这样打开):

ee51a670159d29d0d75aca07ffa6ef00.png

不过,一开始打开的可能是该文件的Overview视图,可以通过底下的一排类似于tab页的按钮切换各种视图,其中包括文本视图(最右端的pom.xml按钮)。

事实上,其他几个按钮也是非常有用的,特别是查看依赖库的时候,这里不再赘述,大家可以自己打开看看。

从打开的POM文件中我们可以看到:

UTF-81.71.7

这个1.7就是在这里配置的,我们把它们改成 1.8 并保存。

然而惊叹号问题和1.7问题并没有解决,这是何故?

原来我们还需要主动让m2e插件去更新该Maven工程。首先打开该工程的右键菜单,然后选择 Maven -> Update Project...

7460447d9926fde1c4cdf75ad1a47ca1.png

在弹出的 Update Maven Project 对话框中点击 OK 按钮即可:

62e8c22884b9a9a6cc9d0fdb68019bf3.png

这样,惊叹号问题和1.7问题就解决了:

81c57b43c2974e94f11e1eb5157211f9.png

现在,还剩下一个深灰色问题,网上搜索说是需要更新仓库的索引(repository index),我尝试了一下,结果因为更新这个索引特别慢,也就没有继续下去。大家自行尝试着解决吧。

Eclipse新建Maven工程

Eclipse新建Maven工程实际上跟新建Java工程(可以参考这篇文章)和Java Web工程(可以参考这篇文章)都是很类似的,只是输入的参数不太一样,也很容易通过这种可视化的方式得知各个参数的含义,大家可以自行试试,我就不再赘述了。

Eclipse构建Maven工程

有了Maven工程,我们就可以编写Java源代码,这跟之前使用Eclipse编写Java源代码是没有区别的,新建Java包、类、接口等等。

现在,我们就要编译我们的Java源代码,实际上Eclipse会自动检测源代码文件的变化而自动编译(当然可以取消),但这只是生成各个Java类的字节码文件。我们现在需要的是进一步将它们打包成一个JAR包,这样才可以部署运行或者给其他开发人员使用啊。

所以说,上篇文章的 mvn package 命令还是很形象的,package就是打包的意思啊。

那在Eclipse中如何来执行这条命令呢?

也很简单,首先还是弹出该Maven工程的右键菜单,鼠标移到 Run As 菜单上:

d067019065d7a47f840a84853db9b145.png

我们可以看到,这里有不少Maven命令,大家可以自己一个一个试试,不用担心会有什么不好的事情发生,尽管放手去试。我这里就不再一一解释各个命令的含义了,以后继续介绍Maven之后就会清楚了。

我选择 Maven Build... (注意,后面带三个小圆点),它会弹出构建的配置对话框:

b27c661c95fa435d4a84a4c94092743e.png

很明显,在目标一栏中输入 package 即可,底部也可以看到我用的是内嵌Maven,当然你也可以通过右端的 Configure... 按钮选择独立安装的Maven,随你喜欢了。

最后点击 Run 按钮就可以执行我们的构建过程了,结果很不错,构建成功:

24e67d38416fcc689d3324888b3ef852.png

事实上,我们也可以选择右键菜单中的 Run As -> Run Configurations... 来配置构建参数:

8c3a63b840120ce02c0e53817d0a37bf.png

不过,这里不仅仅可以配置Maven构建的运行,还可以配置其他很多类型的运行,比如Java Application的运行等等。总之,要运行某种东西,那就是在这里配置了。

但是,我们可以看到 Maven Build 有很多个,那是因为我点了很多次上面右键菜单中的 Maven Build... 菜单项,Eclipse会自动保存它们,它认为你每一次点击都是要配置不同的运行参数,一般配置一次就行了。

这时候,我们如果选择上面右键菜单中的 Maven Build 菜单项(不带三个小圆点),则会弹出让你选择其中一个运行参数的配置来运行:

2b8ba3c182e4e9e341171b36bf0702bf.png

点击 OK 按钮就可以执行该套参数的运行了。

当然,我们还有其他途径来执行我们的Maven构建,比如通过工具栏的运行按钮:

47d3a1a6bf56d6476a025393ab18c624.png

这种方式更快捷,当然,也有 Run As 和 Run Configurations... 菜单。

运行Java程序

这个就跟以前介绍的运行Java程序是一样的了,可以通过:

  • 工程节点的右键菜单的 Run As -> Java Application
  • 编辑框中某个包含 main() 方法的类源码文件的右键菜单的 Run As -> Java Application
  • 工具栏中的运行按钮

第一种方式可能需要选择,因为一个工程中包含 main() 方法的类不止一个。

当然,Java程序的运行也是一种运行,也可以使用 Run Configurations... 来配置啊。

下面是对我们导入的Maven工程 my-app 的运行结果:

bab3c19c2b58c163f1815ae47d3f8d8c.png

嗯,也没什么问题。

总结

从现在开始,我们以后就可以直接修改POM文件来添加第三方依赖库了,而无需我们手动去寻找、下载、配置到工程中等等。

当然,至于第三方依赖库的使用方法还是需要去它的官网找资料的。

这一篇文章主要还是介绍工具的使用,并没有详细介绍Maven的相关知识,以后有需要的时候再详细介绍。

  • Maven工程的惊叹号问题一般是由于Maven的某些配置与实际的不一致,修改之后需要Update Maven Project才能解决。

转载地址:http://wynzx.baihongyu.com/

你可能感兴趣的文章
Mysql查询
查看>>
数据传输流程和socket简单操作
查看>>
ProbS CF matlab源代码(二分系统)(原创作品,转载注明出处,谢谢!)
查看>>
OC中KVC的注意点
查看>>
JQ入门(至回调函数)
查看>>
【洛天依】几首歌的翻唱(无伴奏)
查看>>
OpenSSL初瞻及本系列的博文的缘由
查看>>
ISO8583接口的详细资料
查看>>
tmux不自动加载配置文件.tmux.conf
查看>>
经验分享:JavaScript小技巧
查看>>
[MOSEK] Stupid things when using mosek
查看>>
程序实例---栈的顺序实现和链式实现
查看>>
服务的使用
查看>>
Oracle 用户与模式
查看>>
MairDB 初始数据库与表 (二)
查看>>
拥在怀里
查看>>
chm文件打开,有目录无内容
查看>>
whereis、find、which、locate的区别
查看>>
一点不懂到小白的linux系统运维经历分享
查看>>
桌面支持--打不开网页上的pdf附件解决办法(ie-tools-compatibility)
查看>>