Maven中的参数分别是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven中的参数分别是啥意思?相关的知识,希望对你有一定的参考价值。
groupId
artifactId
version
package
archetypeArtifactId
archetypeGroupId
archetypeCatalog
interactiveMode
这些参数分别是什么意思?能不能举一个项目的例子说明一下。我还没毕业,没接触过项目,麻烦说得详细一些。
<!-- 项目的全球唯一标识符,通常使用全限定的包名区分该项目和其他项目。并且构建时生成的路径也是由此生成, 如com.mycompany.app生成的相对路径为:/com/mycompany/app -->
<groupId> asia.banseon </groupId>
<!-- 构件的标识符,它和group ID一起唯一标识一个构件。换句话说,你不能有两个不同的项目拥有同样的artifact ID和groupID;在某个特定的group ID下,artifact ID也必须是唯一的。构件是项目产生的或使用的一个东西,Maven为项目产生的构件包括:JARs,源码,二进制发布和WARs等。 -->
<artifactId> banseon-maven2 </artifactId>
<!-- 项目当前版本,格式为:主版本.次版本.增量版本-限定版本号 -->
<version> 1.0-SNAPSHOT </version>
<!-- 项目产生的构件类型,例如jar、war、ear、pom。插件可以创建他们自己的构件类型,所以前面列的不是全部构件类型 -->
<packaging> jar </packaging>
====================================
使用mvn archetype:generate创建新项目时需要指定archetypeGroupId和archetypeArtifactId,archetypeGroupId代表该项目所在的小组,archetypeArtifactId简单指定一个项目的名字。
archetypeCatalog :参数,指定已定义的模板创建工程。
interactiveMode:是否希望maven与用户输入进行交互,true的话,maven就有可能与用户交互,默认是true 参考技术A
Maven中的主要参数解析如下:
groupId: 代表组织和整个项目的唯一标志。比如说所有的Maven组件的groupId都是org.apache.maven。
artifactId: 具体项目的名称,它于groupId共同确定一个项目在maven repo中的位置,例如,groupId=org.codehaus.mojo, artifactId=my-project的项目,在maven repo中的位置为:$M2_REPO/org/codehaus/mojo/my-project
version: 用于说明目前项目的版本,在引用依赖的时候确定具体依赖的版本号。
packaging: 规定项目的输出格式,包括jar、war、pom、apk等,根据实际需要确定。例如,开发一般的java库,可以使用jar packaging;开发android则是apk packaging。
一般来说,Maven肯定要用到pom文件,全名叫Project Object Model。简单的说,就是这个pom.xml文件含有project的相关信息。
参考技术B Maven中的主要参数解析如下:groupId: 代表组织和整个项目的唯一标志。比如说所有的Maven组件的groupId都是org.apache.maven。
artifactId: 具体项目的名称,它于groupId共同确定一个项目在maven repo中的位置,例如,groupId=org.codehaus.mojo, artifactId=my-project的项目,在maven repo中的位置为:$M2_REPO/org/codehaus/mojo/my-project
version: 用于说明目前项目的版本,在引用依赖的时候确定具体依赖的版本号。
packaging: 规定项目的输出格式,包括jar、war、pom、apk等,根据实际需要确定。例如,开发一般的java库,可以使用jar packaging;开发android则是apk packaging。
一般来说,Maven肯定要用到pom文件,全名叫Project Object Model。简单的说,就是这个pom.xml文件含有project的相关信息。以下面的pom文件为例,举个简单的例子:
<project xmlns="http://maven,apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.maven</groupId>
<artifactId>my-project</artifactId>
<version>1.2.1</version>
<packaging>war</packaging>
</project>
其中,groupId代表的是唯一的一个标识,比如一个组织或者一个项目的名字,基本上是唯一的,以这个maven为例就是org.apache.maven。
artifactId代表的是名字,如果刚刚那个有点像身份证,这个就是类似姓名的东西。
version比较好理解,就是版本号,比如1.2.1版本这样的。
最后的packaging是我们提供组件的类型,比如使用时打包成一个jar或者是一个war之类的,默认为打成jar包。
还要注意不得不提到maven的一个插件maven-archetype-plugin。这个插件是为了方便我们弄一些模板或者原型直接生成会更加方便。通过cmd指令,我们可以确定我们需要的是哪个原型。还是举个cmd的命令的例子:
mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-grizzly2 -DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false -DgroupId=com.example -DartifactId=simple-service -Dpackage=com.example -DarchetypeVersion=2.17
这个命令是直接生成项目的一个指令:
archetypeGroupId:这个和刚刚那个很像,指的是原型唯一的标识archetypeArtifactId:原型的名字。
interactiveMode:交互模式,默认为true。我上面的cmd命令是一次性把该输入的都输入进去了,免去了交互所以是false。如果你选择交互的话,就是有一步一步的选项指引你去选择和填写相关的标识之类的。
archetypeCatalog:这个我例子里面没有,指的是查找规则。
至于后面那些groupId之类的,前面已经说过的就是生成的项目的一些标识名字之类的相关信息,不过要注意这个package是生成项目的包结构而不是提供组件的类型了。
机器学习中模型参数和模型超参数分别是什么?有什么区别?
以上是关于Maven中的参数分别是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
java sublist的sublist(0.30)的两个参数分别是啥意思
delphi中createpipe的四个参数分别是什么意思啊?
Echarts,barBorderRadius参数分别是啥含义?
OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)函数的三个参数分别是指啥?这个函数啥时候会被执行