maven GroupID和ArtifactID填啥
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven GroupID和ArtifactID填啥相关的知识,希望对你有一定的参考价值。
GroupID是项目组织唯一的知标识符,实际对应JAVA的包的结构,是道main目录里java的目录结构。ArtifactID就是项目专的唯一的标识符,实际对应项目的名称,就属是项目根目录的名称。
但是如果太多文件都放在根目录下的话,维护起来就显得相当麻烦;而对规模大一些的网站,往往需要二到三层甚至更多层级子目录才能保证文件内容页的正常存储,这种多层级目录也叫做树型结构,即根目录下再细分成多个频道或目录,然后在每一个目录下面再存储属于这个目录的终极内容网页,这样的好处是维护容易,但是搜索引擎的抓取将会显得困难些。
扩展资料:
一般来说,二级目录的权重增加,可以提高主域名的权重,主域名的权重增加,也能带动二级目录的权重。二级目录是依靠着主域名权重,主域名收录完好,直接能加快二级目录收录;相比二级目录,二级域名在搜索引擎中相当独立的网站,单就URL来看,二级域名比二级目录天生的信任度稍微高一点,但是收录中可能要比二级目录稍慢些。
如果你的网站类别不是很多,建议采用二级目录的形式,这样更有利于主打品牌的推广和提高网站权重。如果你是个类别比较多,内容比较丰富的网站,建议你采用二级域名的形式。
参考技术A GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
一般GroupID就是填com.leafive.test这样子。本回答被提问者采纳 参考技术B 这是我博客中的原文,菜鸟一个,多多包涵!
使用mvn archetype:generate命令让maven自动生成项目结构文件(名字我自己起的。。),项目文件名为testArchetypeGenerate,参数设置如下:
[INFO] Parameter: basedir, Value: E:\WorkSpace\Maven Workspace\code\testArchetypeGenerate
[INFO] Parameter: package, Value: liu.qi.ba
[INFO] Parameter: groupId, Value: yi.er.san
[INFO] Parameter: artifactId, Value: si-wu
[INFO] Parameter: packageName, Value: liu.qi.ba
[INFO] Parameter: version, Value: 1.0.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: E:\WorkSpace\Maven Workspace\code\testArchetypeGenerate\si-wu
检验项目中产生的文件后发现:
1、产生的项目结构文件与groupId(yi.er.san)无关;
2、项目下的模块名就是你的artifactId值(si-wu),即testArchetypeGenerate\si-wu;
3、模块文件中递进产生(又是自己发明的用语。。)的文件夹就是依据packageName(liu.qi.ba)创建的,即testArchetypeGenerate\si-wu\liu\qi\ba\App.java,其中App.java是自动创建的一个hello world类。
总结:
1、虽然产生的项目结构文件与groupId无关,但是大家公认的规范是填写项目包名,如com.xx.testArchetypeGenerate;
2、artifactId填写你负责的模块名;
3、packageName填写你创建的类所在的包名,如com.xx.testArchetypeGenerate.ClassName。
maven中GroupID 和ArtifactID怎么写
groupId :the unique identifier of the organization or group that created the project
artifactId :unique base name of the primary artifact being generated by this project
GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
-----------------1 基础知识必备----------------------------
<groupId>com.yucong.commonmaven</groupId>
<artifactId>commonmaven</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>common_maven</name>
groupId
定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp.
artifacted
定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等。
version
指定了myapp项目的当前版本,SNAPSHOT意为快照,说明该项目还处于开发中,是不稳定的版本。
name
声明了一个对于用户更为友好的项目名称,不是必须的,推荐为每个pom声明name,以方便信息交流。
-----------------2 何为mave坐标----------------------------
maven的世界中拥有数量非常巨大的构件,也就是平时用的一些jar,war等文件。
maven定义了这样一组规则:
世界上任何一个构件都可以使用Maven坐标唯一标志,maven坐标的元素包括groupId, artifactId, version,package,classifier。
只要在pom.xml文件中配置好dependancy的groupId,artifact,verison,classifier,
maven就会从仓库中寻找相应的构件供我们使用。那么,"maven是从哪里下载构件的呢?"
答案很简单,maven内置了一个中央仓库的地址(http://repol.maven.org/maven2),该中央仓库包含了世界上大部分流行的开源项目构件,maven会在需要的时候去那里下载。
-----------------3 坐标详解----------------------------
<groupId>org.sonatype.nexus</groupId>
<artifactId>nexus-indexer</artifactId>
<version>2.0.0</version>
<packaging>jar</packaging>
groupId
定义当前maven项目隶属的实际项目。
groupId的表示方式与Java包名的表示方式类似,如: <groupId>org.sonatype.nexus</groupId>
artifactId
该元素定义实际项目中的一个Maven项目(模块),推荐的做法是使用实际项目的名称作为artifactId的前缀。
如:<artifactId>nexus-indexer</artifactId>
在默认情况下,maven生成的构件,其文件名会以artifactId作为开头,如:nexus-indexer-2.0.0.jar。
packaging【可选的,默认为jar】:
当不定义packaging时,maven会使用默认值jar。
classifier:
该元素用来帮助定义构件输出的一些附属构件。
项目构件的文件名是坐标相对应的,一般的规则为:artifact-version.packing
以上是关于maven GroupID和ArtifactID填啥的主要内容,如果未能解决你的问题,请参考以下文章