码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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包也打进去

  • 相关阅读:
    k8s-pvc-demo
    聊聊身边的嵌入式:点菜机用着好好的,突然挂了,这口锅应该甩给谁?
    ffmpeg深度学习滤镜
    点云平面拟合新国标怎么应对?
    Stable Diffusion WebUI如何做到真人和动漫互相转换,就在这里!
    一对一直播实时美颜SDK算法背后的技术原理与实现
    Jupyter NoteBook 中使用 cv2.imshow 显示图片
    面试官:JVM内存结构你敢不敢说一下?
    使用arthas通过ognl表达式获得spring bean中使用cglib代理的对象中的非静态字段的值
    OriginTrail平行链通过XCM与Moonbeam集成
  • 原文地址:https://blog.csdn.net/weixin_53142722/article/details/126781342
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号