maven
文章
10 maven配置文件Profile
1 配置文件配置文件概述profile 可以让我们定义一系列的配置信息,然后指定其激活条件。这样我们就可以定义多个 profile,然后每个 profile 对应不同的激活条件和配置信息,从而达到不同环境使用不同配置信息的效果。 profiles/profile 代表众多可选配置中的一个,所以使用profiles附属形式进行管理。 由于profile标签覆盖了pom.xml中的默认配置(能够覆盖任何之前的配置),所以profiles标签通常是pom.xml 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 <profile> <id>test</id> <activation> <property> <name>env</name> <value>...
11 maven私服Nexus
用于快速的模块化的版本迭代。 1 步骤 下载nexus的执行程序。也可以直接下载nexus的docker,然后运行。 运行启动nexus执行程序,并查看nexus占用的端口号。 1netstat anl |grep nexus 然后登录nexus服务器的管理端。 复制黏贴自己的私服地址和用户名密码到settings.xml当中。 配置当前工程pom中的distributionManagement 执行部署。默认情况下,mvn deploy会不数到上述配置中的仓库里。 使用别人部署的jar。必须配置别人部署的nexus仓库。 2 概述nexus仓库的仓库 nexus仓库的类型 nexus仓库的名称 3 实验实践
12 maven依赖冲突
jar包冲突问题1 解决依赖冲突冲突的引入 编订依赖列表的时候需要解决依赖冲突 在引入多个jar包时产生了冲突 冲突的本质 统一jar包,不同版本(名称不一样,版本仲裁机制无法生效,导入了多个包,或者仲裁的包错误) 不同jar包包含同类名(全限定名相同的类) 2 表现形式表现形式:整个错误信息全部是框架、第三方工具包中的类报错,往往就是jar包的问题引起的。并且maven的版本仲裁机制无法生效的情况下。 抛异常:找不到类 java.lang.ClassNotFoundException:编译过程找不到类 java.lang.NoClassDefFoundError:运行过程找不到类 java.lang.LinkageError:不同类加载器分别加在的多个类具有相同的全类名。 抛异常找不到哦啊方法 java.lang.NoSuchMethodException:反射过程找不到类。 经过仲裁选中了版本,但是显示包中没有该版本的方法。 没有报错单结果不对 两个 jar 包中的类分别实现了同一个接口,这本来是很正常的。但是问题在于:由于没有注意命名规范,两个不同实现类恰巧是同...
13 maven导入普通jar
1 概述提出问题而实际开发中确实有可能用到一些 jar 包并非是用 Maven 的方式发布,那自然也没法通过 Maven 导入。 此时如果我们能够拿到该 jar 包的源码那还可以自己建一个 Maven 工程,自己打包。 2 手动打包一个可执行文件 生成.class 文件。利用javac命令进行编译 123➜ src git:(master) ✗ javac com/ykl/Main.java -d ./out/➜ src git:(master) ✗ lscom out 编写manifest文件。manifest文件命名和格式按照要求,可以少写几个参数。 123➜ out git:(master) ✗ cat MANIFEST.MF Manifest-Version: 1.0Main-Class: com.ykl.Main jar打包文件。jar命令在工作目录下执行。out/目录下打包所有内容。如果没有主类,则使用jar -cvf。 如果有主类则使用jar -cvfm 1234567➜ out git:(master) ✗ jar -cvfm h...
maven继承关系
https://blog.csdn.net/xiaoheihai666/article/details/125936493 今天想的是做一个springcloud项目,再导入父依赖的时候,发现有的 包爆红,显示不能找到包,我以为是maven问题,结果去setting.xml文件中看配置,确实都配置完了,也添加了阿里云镜像。又因为是maven与idea本版不相容的问题,结果发现不是。于是我新建一个项目在中加了一个本地仓库没有的包,结果发现可以进行自动导入包。 因此,问题就很明显了,在我新建的项目springcloud项目中pom文件的问题然后,想到这是一个父工程,找到原因是中只是声明依赖,而不实现引入。所以在声明前,应该确保对应版本的依赖已经下载到了本地仓库。 dependencyManagement中只是声明包,如果包没有使用到,且没有下载到本地,则包会飘红。也就是说dependencyMangement中声明的GAV不会触发下载。 不经dependency是树状关系,dependencymanagement出了继承的线性关系,也可以引入其他的pom构建成树状关系。所以继承关...









