首页 > 编程知识 正文

jar包命名约定,java中项目包类命名规则

时间:2023-05-05 08:18:17 阅读:144979 作者:273

MAVEN和JAVA包的命名约定

提出问题

使用MAVEN构建模块化项目时,我的组织结构如下。

根模块

文件夹名称: package-module-project

pom.xml文件:

com.chuillusion

chuillusion-package

0.0.1-快照

pom

chuillusionCore

chuillusionBrowser

chuillusionApp

chuillusionDemo

子模块

2.1核心模块

文件夹名称: chuillusionCore

pom.xml文件:

chuillusion-package

com.chuillusion

1.0-快照

4.0.0

chuillusion.core

Java软件包名称: com.chuillusion.cores是根软件包

有问题

项目文件夹名称与maven的artifactId不匹配

根模块项目的名称为package-module-project,与根对应的artifactId为chuillusion-package

java包的名称与maven不匹配

核心模块的java根软件包名称为com.chuillusion.cores,核心项目的artifactId名称为chuillusion.core

idea显示不一致

如果项目名称与artifactId不匹配,idea将在项目名称中显示artifactId

例如chuillusioncore [ Chu illusion.core ],即项目名称[artifactId]

命名规则研究

官方网站说明

参考MAVEN官方文档的命名约定

指南管理转换组,artifact id和版本

groupidwillidentifyyourprojectuniquelyacrossallprojects,soweneedtoenforceanamingschema.ithastofollowthepackagenamerules, watmeansthathastobeatleastasadomainnameyoucontrol,andyoucancreateasmanysubgroupsasyouwant.look at

moreinformationaboutpackagenames。

eg. org.apache.maven,org.apache.commons

agoodwaytodeterminethegranularityofthegroupidistousetheprojectstructure.thatis,ifthecurrentprojectisamultiplemoduleproject

eg. org.apache.maven,org.apache.maven.plugins,org.apache.maven.reporting

artifactidisthenameofthejarwithoutversion.ifyoucreateditthenyoucanchoosewhatevernameyouwantwithlowercaselettersandnostranges

eg. maven,commons-math

versionifyoudistributeitthenyoucanchooseanytypicalversionwithnumbersanddots (1.0、1.1、1.0.1, don ' tusedatesastheyareusuallyassociatedwithsnapshot (nightly ) builds.ifit ' sathirdpartyartifact,youhavetousethethereririraty

EG.2.0、2.0.1、1.3.1

驱动程序包案例分析

mysql

mysql-connector-java

5.1.43

生成的包名称为MySQL : MySQL-connector-Java-5.1.43.jar,即groupid 3360 artifact id-version.jar

源代码结构: com.mysql作为项目的根包

疑问:个人觉得没有按照规范命名

assertj分析

org.assertj

Assertj -核心

3.8.0

源代码结构: org.assertj.core作为根包

logback分析

ch.qos.logback

logback-classic

1.3.0-阿尔法3

测试

源代码结构: ch.qos.logback.classic作为根包

结论

1 )源包必须以groupId开头,后跟artifactId作为根包

命名规格

养成良好的编码习惯,从命名规范入手

重命名项目

项目名称对应于artifactId,源目录对应于整体结构

根模块

项目名称: package-module-project

com.chuillusion

软件包-模块-项目

0.0.1-快照

pom

chuillusion-core

chuillusion-browser

chuillusion-app

chuillusion-demo

因为root项目是空结构,并且只有一个pom文件管理子模块,所以没有源目录结构

核心模块变更

修正方法1 :

项目名称: chuillusion-core

软件包-模块-项目

com.chuillusion

1.0-快照

4.0.0

chuillusion-core

源代码根结构: com.chuillusion.core

修改方式2

项目名称:酷睿

软件包-模块-项目

com.chuillusion

1.0-快照

4.0.0

核心

源代码根结构: com.chuillusion.core

说明

写这篇文章是因为1 )项目遇到的问题; 2 )百度没有相关文章

等待您指出文章错误的评论。 谢谢你。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。