• maven的扩展使用


    目录

    把不在中央仓库(或者是自定义)的jar加入到项目中作为依赖(idea版)

    把外部/自定义的jar依赖一起打包进jar包


    把不在中央仓库(或者是自定义)的jar加入到项目中作为依赖(idea版)

    最近在使用kettle进行二次开发的时候,里面有很多依赖都已经不在maven的中央仓库了,而且也不再公司的私服,,所以在进行项目打包的时候一直报错:

     但是通过依赖又可以下载到本地仓库中,但是打包的时候就是报这个错,所以打算手动的引入这个依赖。

    官网的依赖:可以把这个依赖下载到本地,但是打包的时候依赖解析不了或者是在报错在仓库中找不到;

    1. <dependency>
    2. <groupId>pentahogroupId>
    3. <artifactId>pentaho-s3-vfsartifactId>
    4. <version>7.1.0.12-132version>
    5. dependency>

    先下载这个jar的依赖(网络上一般都是有资源的),这里我没有使用maven的命令安装模式,而是通过lib依赖于pom配置来完成的:

    1、在项目的pom.xml文件中引入该jar包依赖

    1. <dependency>
    2. <groupId>pentahogroupId>
    3. <artifactId>pentaho-s3-vfsartifactId>
    4. <version>7.1.0.12-132version>
    5. <type>jartype>
    6. <scope>systemscope>
    7. <systemPath>${project.basedir}/src/main/resources/lib-s3/pentaho-s3-vfs-7.1.0.12-132.jarsystemPath>
    8. dependency>

    2、在idea创建lib-s3文件作为依赖(与上面的路径保持一致)

    先在resource目录创建lib-s3文件夹:

    注意是在src的resource目录下创建:这里我是命名为lib-s3:然后把相关的jar包复制到这个lib-s3文件:

     然后在idea中设置引入依赖:

     注意:如果没有add as library这个选项,那说明你这个maven模块中的resource目录下的文件可能是被默认为依赖,你可以把依赖包直接放到你创建的文件夹就行。然后看看可不可以被引用。

     刷新pom文件,成功后这个jar包是可以展开的:

     然后使用maven打包测试一下,发现确实是可以使用了。

    把外部/自定义的jar依赖一起打包进jar包

    最近在学习对kettle进行二次开发,在使用自己定义的代码中的类的时候,可能需要使用到一些其他外部的jar,但是单纯使用maven来进行打包,是不能把对应的jar打包进项目中的,所以部署jar的时候就会出现依赖的class文件不存在的错误,所以需要把外部的jar一起打包进入jar包:

    把外部依赖一起打包到jar包中:

    修改pom文件:

    1. <build>
    2. <plugins>
    3. <plugin>
    4. <groupId>org.apache.maven.pluginsgroupId>
    5. <artifactId>maven-assembly-pluginartifactId>
    6. <version>2.4version>
    7. <configuration>
    8. <appendAssemblyId>falseappendAssemblyId>
    9. <finalName>xxx-xxx-sdkfinalName>
    10. <descriptorRefs>
    11. <descriptorRef>jar-with-dependenciesdescriptorRef>
    12. descriptorRefs>
    13. <archive>
    14. <manifest>
    15. <addClasspath>trueaddClasspath>
    16. <mainClass>com.xxx.xxx.xxxmainClass>
    17. manifest>
    18. archive>
    19. configuration>
    20. <executions>
    21. <execution>
    22. <id>make-assemblyid>
    23. <phase>packagephase>
    24. <goals>
    25. <goal>assemblygoal>
    26. goals>
    27. execution>
    28. executions>
    29. plugin>
    30. plugins>

    配置完成后,再执行:  

    参考博客:maven 打包将依赖打进jar包_xzyxcy的博客-CSDN博客_maven打包的时候将依赖的jar包也打进去

  • 相关阅读:
    家用汽车使用相关的英语
    js中的类型转换
    【自监督论文阅读笔记】Instance Localization for Self-supervised Detection Pretraining
    【反射】Method类
    Docker学习总结
    gpu是什么和cpu的区别
    操作系统权限提升(三十)之数据库提权-SQL Server sp_oacreate+sp_oamethod(dba权限)提权
    目标检测及锚框、IoU
    超详细的文件上传和下载(Spring Boot)
    Spring BeanPostProcessor 代码实践
  • 原文地址:https://blog.csdn.net/weixin_53142722/article/details/126781342