Maven学习记录
1. 报如下错误时:expected START_TAG or END_TAG not TEXT (position: TEXT seen ...</mirror>\n\t\n\t<mirror>\n\t\ua0\ua0\ua0\ua0<i... @180:8),是因为maven的setting.xml文件中有空格,删除空格(可用制表符)保存下即可。
2. mvn打成jar包时,一个java类至少要存在于某个package内(即:package.Class中的package至少要有一层),否则别的工程引入此jar包后无法引入这个java类。
3. IDEA中某个模块依赖了某jar包(xxJar-1.0.0-SNAPSHOT),idea工具查找此jar包的顺序依次是:1. 查找同个工程下的其他模块是否有xxJar-1.0.0-SNAPSHOT,如果有则用此代码(此时本地仓库不需要有此 xxJar-1.0.0-SNAPSHOT jar包);2,没有则继续查找本地仓库是否有xxJar-1.0.0-SNAPSHOT,如果有则使用此jar包;3. 没有则继续查找setting.xml中配置的第一个服务器(第三方maven服务器或maven私服),如果有则下载到本地仓库并使用此下载的jar包;4,没有则继续用setting.xml中配置的第二个服务器依次类推,5,都没有则去中央仓库查找此jar包,有则下载到私服并下载到本地并使用本地的xxJar-1.0.0-SNAPSHOT jar包。
4. 依赖本地jar包:
★,Maven方式:
com.seewo.resource
seewo-resource-data-open-sdk
1.0-SNAPSHOT
system
C:\mySoftware\apache-maven-3.6.3\repository\com\seewo\seewo-resource-data-open-sdk-1.0-SNAPSHOT.jar
这种方式通过maven package竟然没有把这个jar包打进去!!可以通过IDEA方式web项目方法添加这个jar包。另外也可以把这个jar包传到Maven仓库中,可以通过mvn deploy传(研究下一系列参数),也可以通过Maven仓库的管理界面(nexus)传到仓库中去。
★,IDEA方式,经试验结果如下:注意maven clean后可能会清除这个jar包配置....
- service项目:在project structure ----Modules ----- Dependencies中添加jar包即可。
- web项目:上述位置添加jar包还是报类找不到的错。需要在这个位置添加jar包:project structure --- Artifacts --- 对应的war包----WEB-INF/lib下添加这个jar包。这样打包的时候添加的这个本地jar包也会被打进war包里。
5. IDEA复制项目导致一系列命名问题:参考博客
★,.iml 文件: