
题主是否想问“maven找不到jar包里的配置文件的原因”原因是:配置文件不存在、配置文件未正确打包、配置文件路径错误。
1、配置文件不存在:需要确认配置文件是否存在,如果不存在,可以手动创建文件并将其放置在正确的目录下。
2、配置文件未正确打包:如果在运行时找不到配置文件,可以通过解压生成的jar包来查看是否正确打包了配置文件。
3、配置文件路径错误:如果配置文件存在但仍然找不到,可能是因为在代码中使用了错误的路径来加载配置文件。
原则上Maven的设计是不需要这么做的,因为pomxml中依赖的jar包会自动实现从中央仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。
考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。
比如我下载了
lucene-queryparser-461jar
怎么添加到本地仓库呢看
步骤:
1cmd命令进入该jar包所在路径
2执行命令
mvn install:install-file -Dfile=lucene-queryparser-461jar -DgroupId=orgapachelucene -DartifactId=lucene-queryparser -Dversion=461 -Dpackaging=jar
(不同的jar包相对应替换对应部分)
另外我尝试了下面的方法,发现不行:
直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。
补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:
mvn install:install-file -Dfile=freemarker-2313jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2313 -Dpackaging=jar
就是安装到了repository\freemarker\freemarker\2313目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。
对于maven中存在classifier的,例如
<dependency>
<groupId>orgapachehadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>220</version>
<classifier>tests</classifier>
</dependency>
就加一个-D参数就可以了,如下:
mvn install:install-file -Dfile=hadoop-hdfs-220-testsjar -DgroupId=orgapachehadoop -DartifactId=hadoop-hdfs -Dversion=220 -Dclassifier=tests -Dpackaging=jar
以上就是关于maven找不到jar包里的配置文件全部的内容,包括:maven找不到jar包里的配置文件、本地库中的jar包 maven项目如何使用、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)