原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央
仓库下载到本地仓库。但是公司设计了一个setting,如果本地仓库没有,就去setting指定的url中下载jar包,如果还没有就报错。\x0d\x0a考虑到setting中url的jar包比较老,如果需要用最新的,则需要将jar包手动下载到本地仓库。\x0d\x0a\x0d\x0a比如我下载了\x0d\x0alucene-queryparser-4.6.1.jar\x0d\x0a\x0d\x0a怎么
添加到本地仓库呢?\x0d\x0a步骤:\x0d\x0a1.cmd命令进入该jar包所在
路径\x0d\x0a2.执行命令\x0d\x0amvn install:install-file -Dfile=lucene-queryparser-4.6.1.jar -DgroupId=org.apache.lucene -DartifactId=lucene-queryparser -Dversion=4.6.1 -Dpackaging=jar\x0d\x0a(不同的jar包相对应替换对应部分)\x0d\x0a\x0d\x0a另外我尝试了下面的方法,发现不行:\x0d\x0a直接写一个空的pom,里头包含对所需要jar包的依赖,通过这种方式希望将jar包下载到本地仓库。但是应用代码中没用到,maven命令没有下载这个jar包到本地仓库。\x0d\x0a\x0d\x0a补充,-DgroupId和-DartifactId的作用其实是指定了这个jar包的安装在repository的安装路径,只是用来告诉项目去这个路径下寻找这个名称的jar包。比如:\x0d\x0amvn install:install-file -Dfile=freemarker-2.3.13.jar -DgroupId=freemarker -DartifactId=freemarker -Dversion=2.3.13 -Dpackaging=jar\x0d\x0a\x0d\x0a就是安装到了repository\freemarker\freemarker\2.3.13目录下,如果在dependency的依赖里也这么写的话,就可以到对应的目录去寻找。\x0d\x0a对于maven中存在classifier的,例如\x0d\x0a\x0d\x0aorg.apache.hadoop\x0d\x0ahadoop-hdfs\x0d\x0a2.2.0\x0d\x0atests\x0d\x0a\x0d\x0a\x0d\x0a就加一个-D参数就可以了,如下:\x0d\x0amvn 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=jarmaven添加本地jar包很简单。只需要将jar包在本地所在的路径加到pom.xml的dependences中即可。
配置如下:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>1.1.1</version>
<scope>system</scope>
<!--本地jar的路径,相对或者绝对都可以-->
<systemPath>path/to/yourLocalJar.jar</systemPath>
</dependency>
maven工程中添加jar有两种方式添。
第一:
通过【Dependencies】,可视化界面 *** 作点击Dependencies标签页。点击【add】按钮 输入我们想添加的jar包名字进行搜索.就会出现下图中所示。他会把对应名称的所有版本jar包列出来. 选择对应jar包,点击【OK】按钮确认添加。
第二:通过pom.xml源码方式添加,标签<dependency></dependency>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
</dependencies>
评论列表(0条)