maven相关知识

相关配置文件的解释

groupId:项目名称
artifactid:模块名称(我的理解是以后各个模块相分离,最后以项目名称的为主体进行打包事件)
dependencies:依赖的东西的,groupId,artifactid,版本,scope(作用:test,compile)
url:更换中央仓库

源代码放在(src/main/java)
源代码资源文件放在(src/main/resources)
测试代码放在(src/test/java)
测试代码的资源文件放在(src/test/resources)

mvn操作指令
mvn clean 清理target
mvn clean compile 先清理后编译,生成到target
mvn clean test 清理和测试
mvn clean package 运行清理和打包
mvn clean install 运行清理和安装(将打好的包安装到本地仓库,以便共用)
mvn clean deploy 发布到私有服务器

mvn archetype(:generate,create)固定生成模式,创建项目骨架
(可以在maven高手许晓斌中的博客去查看)

注解:
(首先,java有几种对象(PO,VO,DAO,BO,POJO),很遗憾之前不知道vo。
一、PO:persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。
二、VO:value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.PO只能用在数据层,VO用在商业逻辑层和表示层。各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。)

依赖查找

1.依赖的查找GAV(groupid,artifactid,version)
2.有一些网上的仓库提供了坐标的查询(mvnrepository.com,www.sonatype.org/nexus/)
3.依赖是可以被传递的(传递相同scope下的),scope默认就是compile。(这边具体传递区间后期再补充:compile,test,provided)
注释:test:测试有效,其他没
compile:编译和打包都存储
provided:在编译和测试有效,最后生成war包不会加入(java servlet api:tomcat带有)
runtime:运行有,编译无(暂无例子)
import:暂无
system:暂无

备注

这边我在使用idea这个工具的时候,如果使用mybatis的映射文件来写sql语句,会出现(不存在该命名空间的问题),你可以尝试拷贝xml文件到target文件下,尝试即可。(解决方案待跟进)

Description Resource Path Location Type
Project build error: Non-resolvable parent POM for com.augmentum.we.connect:we-connect:0.0.1-SNAPSHOT: Failure to transfer org.springframework.boot:spring-boot-starter-parent:pom:1.4.1.RELEASE from file://${project.basedir}/../repository was cached in the local repository, resolution will not be reattempted until the update interval of we-connect has elapsed or updates are forced. Original error: Could not transfer artifact org.springframework.boot:spring-boot-starter-parent:pom:1.4.1.RELEASE from/to we-connect (file://${project.basedir}/../repository): Repository path /../repository does not exist, and cannot be created. and 'parent.relativePath' points at no local POM pom.xml /dingding-sdk line 1 Maven pom Loading Problem

你可能感兴趣的:(maven相关知识)