湖南营销型网站建设 搜搜磐石网络,wordpress 外贸站,电子商务网站优化方案,e龙岩官网下载对于像我一样喜欢跳跃着学习的聪明人来说#xff0c;肯定要学springboot#xff0c;什么sevlet、maven、java基础#xff0c;都太老土了#xff0c;用不到就不学。所以古代的聪明人有句话叫“书到用时方恨少”#xff0c;测试开源项目时#xff0c;编译总是报错#xff…对于像我一样喜欢跳跃着学习的聪明人来说肯定要学springboot什么sevlet、maven、java基础都太老土了用不到就不学。所以古代的聪明人有句话叫“书到用时方恨少”测试开源项目时编译总是报错不是缺依赖就是少java类pom中除了会填依赖项其他全都看不懂项目跑不起来就得赶紧找老师补习maven。
有一个困扰已久的问题都快遗忘了看反编译的java项目时jar包里的路径是按什么结构生成的学了maven教程仔细对比源码路径和jar包里的目录结构发现我把groupId、package和源码路径混为一谈了。
1、package 包名和groupId可以不一致groupId是maven引入依赖时检索的名称package 包名是java程序中import的名称。两者作用域不同groupId是maven定义的package 是java定义的。 2、默认情况下源码的路径与包名相同打包后的路径项目与源码的路径相同 但是如果源码的路径与包名不同打包后的路径以包名为准与源码路径不同
p01-maven-java-1.0-SNAPSHOT.jar中的路径 源码的路径: //Calculator.java中的包名是 package com.atguigu.maven;
package com.atguigu.maven;public class Calculator {public int sum(int i, int j){return i j;}}
//p01-maven-java-1.0-SNAPSHOT.pom中的groupId是com.jlrc.maven
groupIdcom.jlrc.maven/groupId
artifactIdp01-maven-java/artifactId
version1.0-SNAPSHOT/version
编译打包后Calculator类在jar包中的路径是com.atguigu.maven 源码文件Calculator.java的路径是p01-maven-java\src\main\java\com\jlrc\maven 可用看出打包后包中类的路径是由package com.atguigu.maven;决定的
而maven仓库中包存放的路径是由pom文件中的groupId\artifactId\version决定的。 只不过一般情况下groupId、package和源码路径都设置成一样的在idea创建maven项目时groupId和package的默认设置就是相同的而且自动创建的源码路径和package一样所以平时没发现他们的区别。
尚硅谷Maven教程maven入门高深全网无出其右_哔哩哔哩_bilibili