急!!!!,maven小白请教
我有一个自己创建的项目a,项目a引入了很多第三方jar包。使用maven install对项目a打包生成a.jar
现在有个项目c,项目c引入a.jar。 运行的时候报错,因为找不到a引用的第三方jar。报错ClassNotFound
如下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
不要把a的第三方依赖和a打成一个jar。。那样导致我的a巨大,而且不易调错。谢
第一步:安装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
试试先找到该包的具体位置,打开DOS命令行 ,进入该第三方jar包的目录,运行一下命令,然后对该jar包进行手动构建,查看本地仓库,然后看该jar包是否已经添加到本地仓库文件夹。jar包构建成功后,把该jar包交给maven管理,最后添加到pom.xml中运行。
其实很简单,我一般都是把a.jar弄出来,打开看看里面的第三方jar是否 完整,那报错 找哪个,虽然方法比较笨,但一般会找到问题所在
那你用maven再依赖一下第三方jar包不可以么
运行库里面没有maven的jar包,添加一个jar包就行了吧
运行jar包时指定classpath的路径,逗号分隔,点表示当前jar包路径,其它为当前路径下的文件夹。java -jar -Dloader.path=.,config,resources,lib ./xxxx.jar
很简单,在项目a的文件路径下面,执行mvn clean install就可以了。
上述命令会编译项目a,并生成jar文件并放到你电脑上面的.m2路径下。然后你在项目c里面用maven编译时,编译器就能从.m2文件夹内找到项目a的jar了。
有用的话给打赏哦!
将eclipe中的setting文件指向你的maven插件的setting文件就可以
个人认为 有点不懂 为什么要引入a jar包 不可以直接依赖第三方jar包吗
在pom.xml引入a.jar包就好了吧
那是因为你打的a的jar包,没有将a的依赖加进来,注意pom文件的打包方式,或者可以用插件进行打包
你可以先对A clear一下,然后update工程一下,最后再install一下,你只要能保证A能跑通的前提下再让别的引用A就可以了