-
亲测maven中groupid、artifactid、packageName的作用
2018-12-10 15:09:37亲测maven中groupid、artifactid、packageName的作用 使用mvn archetype:generate命令让maven自动生成项目结构文件(名字我自己起的。。),项目文件名为testArchetypeGenerate,参数设置如下: 1 ...亲测maven中groupid、artifactid、packageName的作用
使用mvn archetype:generate命令让maven自动生成项目结构文件(名字我自己起的。。),项目文件名为testArchetypeGenerate,参数设置如下:
1
[INFO] Parameter: basedir, Value: E:\WorkSpace\Maven Workspace\code\testArchetypeGenerate<
br
>[INFO] Parameter: package, Value: liu.qi.ba<
br
>[INFO] Parameter: groupId, Value: yi.er.san<
br
>[INFO] Parameter: artifactId, Value: si-wu<
br
>[INFO] Parameter: packageName, Value: liu.qi.ba<
br
>[INFO] Parameter: version, Value: 1.0.0-SNAPSHOT<
br
>[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的作用
2018-01-31 23:53:10groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。 groupId一般分为多个段,这里我只说两段,第一段为域...groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
比如我创建一个项目,我一般会将groupId设置为cn.hys,cn表示域为中国,snowin是我个人姓名缩写,artifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,你的包结构最好是cn.zr.testProj打头的,如果有个StudentDao,它的全路径就是cn.hys.testProj.student.dao.StudentDao -
maven中的groupId和artifactId作用是什么
2020-08-20 09:59:07GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。 ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。
ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
-
Maven中的依赖作用范围(scope)
2020-04-19 19:56:141.Maven中的依赖作用范围概述 Maven中使用 scope 来指定当前包的依赖范围和依赖的传递性。常见的可选值有:compile, provided, runtime, test, system 等。scope 主要是用在 pom.xml 文件中的依赖定义部分,例如: ...1.Maven中的依赖作用范围概述
Maven中使用 scope 来指定当前包的依赖范围和依赖的传递性。常见的可选值有:compile, provided, runtime, test, system 等。scope 主要是用在 pom.xml 文件中的依赖定义部分,例如:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>3.2.1.RELEASE</version> <scope>test</scope> </dependency>
2.scope各种取值详解
scope取值 有效范围(compile, runtime, test) 依赖传递 例子
compile all 是 spring-core
provided compile, test 否 servlet-api
runtime runtime, test 是 JDBC驱动
test test 否 JUnit
system compile, test 是
正如上表所示,compile :为默认的依赖有效范围。如果在定义依赖关系的时候,没有明确指定依赖有效范围的话,则默认采用该依赖有效范围。此种依赖,在编译、运行、测试时均有效。
provided :在编译、测试时有效,但是在运行时无效。例如:servlet-api,运行项目时,容器已经提供,就不需要Maven重复地引入一遍了。
runtime :在运行、测试时有效,但是在编译代码时无效。例如:JDBC驱动实现,项目代码编译只需要JDK提供的JDBC接口,只有在测试或运行项目时才需要实现上述接口的具体JDBC驱动。
test :只在测试时有效,例如:JUnit。
system :在编译、测试时有效,但是在运行时无效。和provided的区别是,使用system范围的依赖时必须通过systemPath元素显式地指定依赖文件的路径。由于此类依赖不是通过Maven仓库解析的,而且往往与本机系统绑定,可能造成构建的不可移植,因此应该谨慎使用。systemPath元素可以引用环境变量。例如:
<dependency> <groupId>javax.sql</groupId> <artifactId>jdbc-stdext</artifactId> <version>2.0</version> <scope>system</scope> <systemPath>${java.home}/lib/rt.jar</systemPath> </dependency>
-
Maven 项目中的groupId和artifactId
2018-01-12 16:42:00maven进行项目管理,如果我们要将项目加入到maven到本地仓库中,则需要对项目进行唯一性标示,而groupId和artifactId就起到这样对作用。 groupId为项目组织对唯一标识符,可以理解为域名。一般由多个部分组成。如... -
Maven开发笔记(一)—— Maven中的依赖作用范围(scope)
2018-07-01 14:48:411.Maven中的依赖作用范围概述Maven中使用 scope 来指定当前包的依赖范围和依赖的传递性。常见的可选值有:compile, provided, runtime, test, system 等。scope 主要是用在 pom.xml 文件中的依赖定义部分... -
Maven中dependencyManagement作用说明
2020-07-12 14:47:28当maven项目非常大,也就是模块非常多时,管理依赖关系是非常非常重要的,很多时候依赖包的冲突可以让你怀疑人生,并且难已解决,所以就用到了我们的dependencyManagement 使用 父项目 <dependencyManagement> <... -
Maven 的 classifier 的作用
2019-09-27 22:21:43原文地址:... 直接看一个例子,maven中要引入json包,于是使用了: <dependency> <groupId>net.sf.json-lib</groupId> <artifactI... -
Maven中pom.xml的作用
2020-03-24 09:28:25在这个文件中我们可以配置Maven项目的groupId、artifactId和version等Maven项目必须的元素;可以配置Maven项目需要使用的远程仓库;可以定义Maven项目打包的形式;可以定义Maven项目的资源依赖关系等等。 pom.xml... -
Maven 的classifier的作用
2018-03-16 11:16:00原地址:... 直接看一个例子,maven中要引入json包,于是使用了 <dependency> <groupId>net.sf.json-lib</groupId> ... -
maven scope 的作用
2019-02-27 20:35:161.Maven中的依赖作用范围概述 Maven中使用 scope 来指定当前包的依赖范围和依赖的传递性。常见的可选值有:compile, provided, runtime, test, system 等。scope 主要是用在 pom.xml 文件中的依赖定义部分,例如: ... -
【Maven】Maven classifier的作用
2020-06-04 23:05:34直接看一个例子,maven中要引入flink-streaming-java包,于是使用了 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> &...