qq_30277609
esunaly1
采纳率100%
2018-06-05 03:18 浏览 7.6k
已采纳

Maven自动加载依赖的jar包

40

急!!!!,maven小白请教
我有一个自己创建的项目a,项目a引入了很多第三方jar包。使用maven install对项目a打包生成a.jar
现在有个项目c,项目c引入a.jar。 运行的时候报错,因为找不到a引用的第三方jar。报错ClassNotFound

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

14条回答 默认 最新

  • 已采纳
    xboy100824 xboy100824 2018-06-06 08:44

    如下3种方式设置
    方式1: pom.xml里dependency 本地jar包

    com.hope.cloud <!--自定义-->
    cloud <!--自定义-->
    1.0 <!--自定义-->
    system <!--system,类似provided,需要显式提供依赖的jar以后,Maven就不会在Repository中查找它-->
    ${basedir}/lib/cloud.jar <!--项目根目录下的lib文件夹下-->

    方式2:pom.xml里指定编译阶段包含外部lib

    maven-compiler-plugin
    2.3.2

    1.8
    1.8
    UTF-8

    lib<!--指定外部lib-->



    方式3:将外部jar打入本地maven仓库
    cmd 进入jar包所在路径,执行以下命令
    mvn install:install-file -Dfile=cloud.jar -DgroupId=com.hope.cloud -DartifactId=cloud -Dversion=1.0 -Dpackaging=jar
    pom.xml中引入依赖

    com.hope.cloud
    cloud
    1.0

    点赞 评论 复制链接分享
  • dabocaiqq dabocaiqq 2018-06-05 03:30

    第一步:安装maven:解压Apache-maven-3.5.0压缩包到例如该目录下:D:\OC\Maven\apache-maven-3.5.0
    第二步:配置maven的环境变量:
    1.在我的电脑->属性->环境变量->系统变量里新建一个M2_HOME的变量,变量值为(安装路径)D:\OC\Maven\apache-maven-3.5.0
    第三步:建立一个本地maven仓库:手动建立一个空文件,如:LocalWarehouse,在D:\OC\Maven\LocalWarehouse这个位置下
    第四步:在Intellij IDEA中配置maven:
    打开-File-Settings
    第五步:配置Intellij IDEA中自动下载jar包
    配置IDEA的maven自动下载源码的方法:
    点击File -> Setting ->Maven ->Importing:选中Automatically download中的两个多选框Sources和Documentation
    第六步:右键maven项目,maven->Reimport,就可自动下载jar包了,下载的jar包在本地仓库中D:\OC\Maven\LocalWarehouse

    具体:https://blog.csdn.net/lwjdear/article/details/76851380

    点赞 3 评论 复制链接分享
  • qq_32360485 qq_32360485 2018-06-05 04:49

    运行库里面没有maven的jar包,添加一个jar包就行了吧

    点赞 1 评论 复制链接分享
  • qq_30277609 esunaly1 2018-06-05 03:19

    不要把a的第三方依赖和a打成一个jar。。那样导致我的a巨大,而且不易调错。谢

    点赞 评论 复制链接分享
  • qq_37725313 menmo_o 2018-06-05 03:30

    试试先找到该包的具体位置,打开DOS命令行 ,进入该第三方jar包的目录,运行一下命令,然后对该jar包进行手动构建,查看本地仓库,然后看该jar包是否已经添加到本地仓库文件夹。jar包构建成功后,把该jar包交给maven管理,最后添加到pom.xml中运行。

    点赞 评论 复制链接分享
  • dldahua123 黑码王子 2018-06-05 03:39

    其实很简单,我一般都是把a.jar弄出来,打开看看里面的第三方jar是否 完整,那报错 找哪个,虽然方法比较笨,但一般会找到问题所在

    点赞 评论 复制链接分享
  • huishanyu H'o' 2018-06-05 04:06

    那你用maven再依赖一下第三方jar包不可以么

    点赞 评论 复制链接分享
  • huangzhen1991 黄老邪一号 2018-06-05 05:02

    运行jar包时指定classpath的路径,逗号分隔,点表示当前jar包路径,其它为当前路径下的文件夹。java -jar -Dloader.path=.,config,resources,lib ./xxxx.jar

    点赞 评论 复制链接分享
  • weixin_33284045 ivanstang0415 2018-06-05 07:04

    很简单,在项目a的文件路径下面,执行mvn clean install就可以了。
    上述命令会编译项目a,并生成jar文件并放到你电脑上面的.m2路径下。然后你在项目c里面用maven编译时,编译器就能从.m2文件夹内找到项目a的jar了。

    有用的话给打赏哦!

    点赞 评论 复制链接分享
  • jpf420 jpf420 2018-06-05 07:58

    将eclipe中的setting文件指向你的maven插件的setting文件就可以

    点赞 评论 复制链接分享
  • chenxiansheng888 狗子猴子驴子 2018-06-05 08:32

    个人认为 有点不懂 为什么要引入a jar包 不可以直接依赖第三方jar包吗

    点赞 评论 复制链接分享
  • qq_36168950 qq_36168950 2018-06-05 09:28

    在pom.xml引入a.jar包就好了吧

    点赞 评论 复制链接分享
  • Lomad Lomad 2018-06-07 08:20

    那是因为你打的a的jar包,没有将a的依赖加进来,注意pom文件的打包方式,或者可以用插件进行打包

    点赞 评论 复制链接分享
  • qq_39699253 javaCoffee小白 2018-06-13 02:28

    你可以先对A clear一下,然后update工程一下,最后再install一下,你只要能保证A能跑通的前提下再让别的引用A就可以了

    点赞 评论 复制链接分享

相关推荐