
请注意识别号码和链接,谨防受骗。
Maven添加jar包
原创经验
坏天空︷囝仔 24 43083
Maven用来管理项目的确很方便,但很多新手可能并不了解如何在maven项目里添加jar包,所以我在这里以eclipse为例子给大家讲解一下
工具/原料
eclipse maven插件
方法/步骤
1/4分步阅读
先创建一个基于maven的项目,点击打开pom.xml文件
2/4
点击Dependencies标签页,然后点击Dependencies中的add按钮,输入我们想添加的jar包名字,就会出现下图中所示,它会把对应名称的所有版本jar包列出来
3/4
点击OK之后,在pom.xml会带回jar包的信息,type表示依赖包的类型,Scope表示这个依赖包的作用周期等等
4/4
保存后install maven,然后再点开项目中的Maven Dependencies就会发现多了相应的jar包了
方法/步骤2
1/4
可以通过手动配置来添加jar包,通过百度一下找到Maven 常用仓库网址
2/4
进入仓库网站后,在搜索栏中输入你要搜索的jar包关键字
3/4
选择一个最适合的结果点进去,选择相应的jar包版本
4/4
在里面可以点击Download(JAR)下载jar包,又或者在pom.xml里复制Maven的代码,再install maven即可自动下载
注意事项
有时我们只添加一个jar包,但实际下载下来会超过一个是因为maven会把和添加的jar包有依赖关系的全部下载下来,这样就避免了jar包缺失的问题
在Maven项目中使用本地JAR包有两种方法:1. 使用system scope
<dependencies>
<dependency>
<groupId>org.richard</groupId>
<artifactId>my-jar</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/my-jar.jar</systemPath>
</dependency>
</dependencies>
system scope引入的包,在使用jar-with-dependencies打包时将不会被包含,可以使用resources将本地包打进jar-with-dependencies
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>xxx-jar-with-dependencies</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<targetPath>lib/</targetPath>
<directory>lib/</directory>
<includes>
<include>**/my-jar.jar</include>
</includes>
</resource>
</resources>
</build>
生成的xxx-jar-with-dependencies.jar中,将会包含lib目录以及my-jar.jar,并且能够被在执行的时候被找到。
有的时候这种方法会实效,比如JDBCDriver在声明的时候Class.forName("xxx.Driver")就会说找不到类,用下面两种方法就可以。
2. 将jar包安装到本地repository中
mvn install:install-file -Dfile=my-jar.jar -DgroupId=org.richard -DartifactId=my-jar -Dversion=1.0 -Dpackaging=jar
3. 添加 in project repository,在新机器上执行时就不用运行mvn install:install-file命令了
<repository>
<id>in-project</id>
<name>In Project Repo</name>
<url>file://${project.basedir}/lib</url></repository>
<dependency>
<groupId>org.richard</groupId>
<artifactId>my-jar</artifactId>
<version>1.0</version>
</dependency>
你的jar包及路径必须严格遵循格式:
/groupId/artifactId/version/artifactId-verion.jar
本例中: lib/org/richard/my-jar/1.0/my-jar-1.0.jar
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)