我的maven好像是缺少包,不知道怎么加自定义的包

我的maven好像是缺少包,不知道怎么加自定义的包,第1张

模型类文件名有问题,或者路径有问题,导致D方法找不到对应的模型类,然后自动转成M方法去调用了。

楼主你检查以下问题:

1.D方法的模型名大小写和模型类文件名大小写一致。

2.模型类是否放在了错误的位置。

原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。

考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。

比如我下载了

lucene-queryparser-4.6.1.jar

怎么添加到本地仓库呢看

步骤:

1.cmd命令进入该jar包所在路径

2.执行命令

mvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar

(不同的jar包相对应替换对应部分)

另外我尝试了下面的方法,发现不行:

直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。

补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:

mvn install:install-file -Dfile=freemarker-2.3.13.jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2.3.13 -Dpackaging=jar

就是安装到了repository\freemarker\freemarker\2.3.13目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。

对于maven中存在classifier的,例如

<dependency>

<groupId>org.apache.hadoop</groupId>

<artifactId>hadoop-hdfs</artifactId>

<version>2.2.0</version>

<classifier>tests</classifier>

</dependency>

就加一个-D参数就可以了,如下:

mvn install:install-file -Dfile=hadoop-hdfs-2.2.0-tests.jar -DgroupId=org.apache.hadoop -DartifactId=hadoop-hdfs -Dversion=2.2.0 -Dclassifier=tests -Dpackaging=jar

一、导出到默认目录 targed/dependency

从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令:

1、mvn dependency:copy-dependencies或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在d出的Configuration窗口中,输入 dependency:copy-dependencies后,点击运行;

2、maven项目所依赖的jar包会导出到targed/dependency目录中。

二、导出到自定义目录中

在maven项目下创建lib文件夹,输入以下命令:

1、mvn dependency:copy-dependencies -DoutputDirectory=lib;

2、maven项目所依赖的jar包都会复制到项目目录下的lib目录下。

三、设置依赖级别

同时可以设置依赖级别,通常使用compile级别

mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=compile


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11825789.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存