前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Maven命令与pom文件常量

Maven命令与pom文件常量

作者头像
端碗吹水
发布2020-09-23 10:47:29
9590
发布2020-09-23 10:47:29
举报
文章被收录于专栏:程序猿的大杂烩

Maven命令:

Maven不单止可以在Eclipse上使用,也可以在cmd中使用命令的方式操作,虽然这样十分麻烦,而且有一般也不会使用,但是还是得了解一些可能会用到的操作方式。

1.mvn compile命令:此命令用于编译工程,使用此命令在cmd里编译工程代码时,需要先cd进工程目录下,不然会报错。

使用命令编译工程的话,工程文件夹可以自己手动创建,这个手动创建的样式和用Eclipse创建的样式差不多,工程文件夹下是main和test文件夹还有pom配置文件,这个pom文件里的信息必须要配置对,基本Maven都是围绕着这个文件进行识别的,main和test文件里就是工程代码和测试代码,例如我创建一个MavenTest2的工程:

2b250701f6b5bd97f435d5374a4a915c.png
2b250701f6b5bd97f435d5374a4a915c.png

根据规定创建好工程后开始进行编译:

dbe0f870305caf126037e6e50b465cf5.png
dbe0f870305caf126037e6e50b465cf5.png

以上是编译成功反馈的信息

编译的代码:

8c6cf1f9d7fc489b22b72ec42db33f8a.png
8c6cf1f9d7fc489b22b72ec42db33f8a.png

2.mvn test-compile命令:此命令用于测试编译中的工程代码,测试的话需要依赖JUnit包,所以也要配置一下pom文件,将依赖写上去,这个包的依赖可以在中央类库中找到,然后还需要创建src文件夹然后将main、test文件夹放进去:

467145c6c3063ba4afa85fdbabcad7ac.png
467145c6c3063ba4afa85fdbabcad7ac.png
53c1a54c6e928029885b6e499af978e9.png
53c1a54c6e928029885b6e499af978e9.png

注意:测试编译前需要先运行mvn compile命令将依赖的JUnit包下载下来,不然会报错:

f34073ace9d6d94fb28d38e628733563.png
f34073ace9d6d94fb28d38e628733563.png

然后再运行mvn test-compile命令:

00fbdcf2795951d989629f7275975d34.png
00fbdcf2795951d989629f7275975d34.png

测试编译的代码:

e3addd3319ca6c940f4aa0860b140fb0.png
e3addd3319ca6c940f4aa0860b140fb0.png

3.mvn test命令:此命令用于调用测试并编译工程代码

09ac6c1f497fbf736d8db91881012398.png
09ac6c1f497fbf736d8db91881012398.png

代码测试主要是测试、验证代码的逻辑结果是否有问题,如果没问题才能将工程发布出去。

4.mvn package 命令:此命令将工程打包,打包的时候会进行一个测试:

1cfe3a3d1be8b4848860d70b7d14dd20.png
1cfe3a3d1be8b4848860d70b7d14dd20.png

打好的包会放在这个文件夹下:

55b0b33abc631a53d30393102766ec1a.png
55b0b33abc631a53d30393102766ec1a.png

5.mvn jar:jar 命令:此命令只打JAR包,同样的打好的jar包会放在target文件夹里:

47fef499ebf7a569112ee8bc5faf1d2e.png
47fef499ebf7a569112ee8bc5faf1d2e.png

6.mvn clean 命令:此命令用于清理工程文件

cc20cddb2130a9797c4f50421b1b3437.png
cc20cddb2130a9797c4f50421b1b3437.png

7.mvn archetype:generate命令:此命令是使用Maven的模板骨架创建一个工程,使用此命令需要先创建一个工程文件夹,然后cd进那个文件夹才能执行这个命令。使用这个命令创建工程的话需要下载相应的包,所以需要等待一下:

然后会询问你选择一个数字或应用过滤器,输入1即可:

7a635fce314edbd3f506add10f1aeeae.png
7a635fce314edbd3f506add10f1aeeae.png

接着就是输入工程相关信息:

b02e7d4694b6873cad6913d377c8a88f.png
b02e7d4694b6873cad6913d377c8a88f.png

创建成功:

ad1cd8ff13af1e91a5bcc4cffface0a9.png
ad1cd8ff13af1e91a5bcc4cffface0a9.png

上面创建的是一个网页工程,我们需要创建javase工程的话就要在选择数字那一步输入15,这个数字代表的是javase工程骨架:

6a196f52f8383e4a77ced777e50011ba.png
6a196f52f8383e4a77ced777e50011ba.png
fa122b6d8fa0fd1d64472d5e42caba1d.png
fa122b6d8fa0fd1d64472d5e42caba1d.png

同样的需要输入这段信息:

5263b9014fb3f3e03275f0dbd07cfca8.png
5263b9014fb3f3e03275f0dbd07cfca8.png

创建成功:

dd7d64b63ecb35292732af4ce7077cd5.png
dd7d64b63ecb35292732af4ce7077cd5.png
2b9c883c7eec0620c52e1390cf042812.png
2b9c883c7eec0620c52e1390cf042812.png

工程骨架自带的工程代码:

efbafa8bb0a3bb7d44c9a771bed1bb29.png
efbafa8bb0a3bb7d44c9a771bed1bb29.png

以下都是Maven中工程骨架的编号:

1: internal -> appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)

2: internal -> appfuse-basic-spring (创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)

3: internal -> appfuse-basic-struts (创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型)

4: internal -> appfuse-basic-tapestry (创建一个基于Hibernate, Spring 和 Tapestry 4的Web应用程序的原型)

5: internal -> appfuse-core (创建一个基于 Hibernate and Spring 和 XFire的jar应用程序的原型)

6: internal -> appfuse-modular-jsf (创建一个基于 Hibernate,Spring和JSF的模块化应用原型)

7: internal -> appfuse-modular-spring (创建一个基于 Hibernate, Spring 和 Spring MVC 的模块化应用原型)

8: internal -> appfuse-modular-struts (创建一个基于 Hibernate, Spring 和 Struts 2 的模块化应用原型)

9: internal -> appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型)

10: internal -> maven-archetype-j2ee-simple (一个简单的J2EE的Java应用程序)

11: internal -> maven-archetype-marmalade-mojo (一个Maven的 插件开发项目 using marmalade)

12: internal -> maven-archetype-mojo (一个Maven的Java插件开发项目)

13: internal -> maven-archetype-portlet (一个简单的portlet应用程序)

14: internal -> maven-archetype-profiles ()

15: internal -> maven-archetype-quickstart ()

16: internal -> maven-archetype-site-simple (简单的网站生成项目)

17: internal -> maven-archetype-site (更复杂的网站项目)

18: internal -> maven-archetype-webapp (一个简单的Java Web应用程序)

19: internal -> jini-service-archetype (Archetype for Jini service project creation)

20: internal -> softeu-archetype-seam (JSF+Facelets+Seam Archetype)

21: internal -> softeu-archetype-seam-simple (JSF+Facelets+Seam (无残留) 原型)

22: internal -> softeu-archetype-jsf (JSF+Facelets 原型)

23: internal -> jpa-maven-archetype (JPA 应用程序)

24: internal -> spring-osgi-bundle-archetype (Spring-OSGi 原型)

25: internal -> confluence-plugin-archetype (Atlassian 聚合插件原型)

26: internal -> jira-plugin-archetype (Atlassian JIRA 插件原型)

27: internal -> maven-archetype-har (Hibernate 存档)

28: internal -> maven-archetype-sar (JBoss 服务存档)

29: internal -> wicket-archetype-quickstart (一个简单的Apache Wicket的项目)

30: internal -> scala-archetype-simple (一个简单的scala的项目)

31: internal -> lift-archetype-blank (一个 blank/empty liftweb 项目)

32: internal -> lift-archetype-basic (基本(liftweb)项目)

33: internal -> cocoon-22-archetype-block-plain ([http://cocoapacorg2/maven-plugins/])

34: internal -> cocoon-22-archetype-block ([http://cocoapacorg2/maven-plugins/])

35: internal -> cocoon-22-archetype-webapp ([http://cocoapacorg2/maven-plugins/])

36: internal -> myfaces-archetype-helloworld (使用MyFaces的一个简单的原型)

37: internal -> myfaces-archetype-helloworld-facelets (一个使用MyFaces和Facelets的简单原型)

38: internal -> myfaces-archetype-trinidad (一个使用MyFaces和Trinidad的简单原型)

39: internal -> myfaces-archetype-jsfcomponents (一种使用MyFaces创建定制JSF组件的简单的原型)

40: internal -> gmaven-archetype-basic (Groovy的基本原型)

41: internal -> gmaven-archetype-mojo (Groovy mojo 原型)

所以输入什么编号就会创建相应的工程骨架。

    如果需要创建最简单的java工程,需要写具体的骨架名称,所以选择骨架的那一步既可以使用编号也可以使用骨架的名称,我发现用编号的方式选择骨架创建不了简单的java工程,得用骨架的名称:

e8c3c9aa4d6f4ecb2ba4b19889ad83b0.png
e8c3c9aa4d6f4ecb2ba4b19889ad83b0.png

创建成功:

ba908dcf6a9d730cbef04b052abcf3e2.png
ba908dcf6a9d730cbef04b052abcf3e2.png
86dbdd8948418556406795e3ddeb33f8.png
86dbdd8948418556406795e3ddeb33f8.png

工程骨架自带的工程代码:

20fea7f78c58a5fe2092c795a23da5ac.png
20fea7f78c58a5fe2092c795a23da5ac.png

创建完后就可以使用mvn compile进行编译了,当然其他的测试什么的命令也可以使用了:

a0aba336b840af1c2678d7bf48701507.png
a0aba336b840af1c2678d7bf48701507.png

8.mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart命令:此命令用于选择创建普通java工程的骨架,能够跳过之前那些选项直接创建此骨架的工程。

3c89fda5eb53a0f49640d92d53a65fa1.png
3c89fda5eb53a0f49640d92d53a65fa1.png

创建成功:

cde6c6592de3e17bf5f85ee602e5fc5e.png
cde6c6592de3e17bf5f85ee602e5fc5e.png
ba89f36c239290d9be14b4356a6b37a5.png
ba89f36c239290d9be14b4356a6b37a5.png
abb97f4624f4d44ccf8e8e94d70e622b.png
abb97f4624f4d44ccf8e8e94d70e622b.png
7247519f9066827d0924cc42af123ecf.png
7247519f9066827d0924cc42af123ecf.png

在Eclipse里选择普通java工程的骨架进行创建工程:

9e6a903e3e63d98dbf129c83693b73b2.png
9e6a903e3e63d98dbf129c83693b73b2.png
dc420325e729b5b30e9c0b0ce170ad86.png
dc420325e729b5b30e9c0b0ce170ad86.png
378c85b1152d7a133d07d87a911a7420.png
378c85b1152d7a133d07d87a911a7420.png
6bc21db7e570774ce05473c6c2ea84b0.png
6bc21db7e570774ce05473c6c2ea84b0.png

创建完成:

b7c531d3ca884b36ec9872de15c533df.png
b7c531d3ca884b36ec9872de15c533df.png
9d241c6970d69c7930d4c47da843bd80.png
9d241c6970d69c7930d4c47da843bd80.png

pom文件:

  在Eclipse打开pom配置文件,首先进入的是修改工程信息的界面,这个界面可以修改工程的信息

53add3be69c901ee879245a74ac05c9e.png
53add3be69c901ee879245a74ac05c9e.png
59cb36ece316009cc89d74ce4465bd25.png
59cb36ece316009cc89d74ce4465bd25.png
014b5bb915cb8c0c8751310a81f6375d.png
014b5bb915cb8c0c8751310a81f6375d.png
b3ca90259f61aaab34593da2eecb6548.png
b3ca90259f61aaab34593da2eecb6548.png
69d4e96be48476a282a251c748532be2.png
69d4e96be48476a282a251c748532be2.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/10/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档