1.groupId和artifactId的区别
GroupID 是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构——定义了项目属于哪个组,举个例子,如果你的公司是mycom,有一个项目为myapp,那么groupId就应该是com.mycom.myapp.
ArtifactID是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。——定义了当前maven项目在组中唯一的ID,比如,myapp-util,myapp-domain,myapp-web等。
groupId,atifactId,version等构成了maven坐标,很多构件例如jar,war包利用坐标可以在maven中央仓库中找到
2.jar包和war包的区别
jar包和war包都可以理解为压缩包,这个压缩包可以直接被编译器使用,把war包放在tomcat的webApp下,Tomcat在启动时可以直接使用这个war包,通常Tomcat的做法是解压,编译里面的代码。所以当文件很多时Tomcat启动很慢。
jar包是java打的包,里面只有编译后的class文件和一些部署文件,war包可以理解为javaWeb打的包,里面包括class文件,依赖的包,部署的包,网站页面包括html、jsp等。一个war包可以理解为包含了一个项目里面的所有东西。
什么时候使用jar包或war包?当你的项目在没有完全完成的时候,不适合使用war文件,因为你的类会由于调试之类的经常改,这样来回删除、创建war文件很不方便,来回修改,来回打包,最好是你的项目已经完成了,不做修改的时候,那就打个war包。