非maven的jar包怎么引入maven工程

前几天因为业务需要,引入了一个其他部门的jar包。不是Maven工程构建的,也就没有pom文件。这里记录下引入的过程,以备今后参考。

生成jar包

  1. 新建web_maven工程1
  2. 写3个Java类
  3. mvn install:编译成class文件、执行测试代码、把class文件打成jar包、再把jar包和pom.xml文件复制到maven本地仓库(存放目录按照groupid、artifactId、version建的)
  1. maven仓库中存在的jar包可以直接在pom文件中添加依赖。但是问题来了,只有jar包,怎么知道groupId和artifactId呢?下面我就用实例告诉大家,怎么引入。比如依赖一个json-lib-2.2.1.jar。只需要在 网站上查询这个jar包。然后在版本列表中,点击具体需要的版本。图片 1mvn1-1.jpg进入具体页面后,拷贝需要的依赖配置内容,复制到maven图片 2mvn1-2.jpg复制maven的配置描述,拷贝到pom文件里即可。
  2. maven仓库里不存在的jar包可以自己在本地手工添加的方式解决。例如,haha-1.0.jar。我们设置groupId为com.my.test,artifactId为haha。版本为1.0。a. maven添加本地jar包配置好maven环境,有些使用eclipse的童鞋,可能没有安装过maven,会导致无法执行,需要自己配置maven环境。执行如下命令:mvn install:install-file -Dfile=E:workhaha-1.0.jar -DgroupId=com.my.test -DartifactId=haha -Dversion=1.0 -Dpackaging=jarb. 手工创建目录在pom文件里添加配置信息:<dependency><groupId>commons-httpclient</groupId><artifactId>commons-httpclient</artifactId><version>3.1</version></dependency>创建好目录.m2repositorycommytesthaha1.0。把haha-1.0.jar文件复制过来,同时新建haha-1.0.jar.pom。参考maven从仓库下载的jar包里相同的文件,复制里面的内容,修改一下groupId,artifactId和version信息即可。执行完这些后,再更新和编辑就可以解决了。

使用jar包

  1. 新建web_maven工程2
  2. 写1个java类,要用到工程1的3个类
  3. 需要找工程1的jar包
  4. 先申明要找什么jar包:哪个groupid、artficatid、version
    <dependency>
    <groupId>com.wuling</groupId>
    <artifactId>my-app</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    </dependency>
  5. maven自动到本地仓库查找该jar包
  6. 找到过后,自动把jar包的位置添加到classpath里面
  7. 工程2的java类用到了工程1的jar包里面的类,本工程找不到,就从classpath里面逐个查找

一、中央仓库

1. 本地仓库

%MAVEN_HOME%confsettings.xml

  <localRepository>
        C:softwareapache-maven-3.5.0repository
</localRepository>

图片 3

image.png

2. 远程仓库

1. 官方仓库(默认)

https://repo1.maven.org/maven2/

2. 国内镜像库

http://maven.aliyun.com/nexus/content/groups/public

https://repository.jboss.org/maven2/

https://repository.sonatype.org/content/groups/public/

http://repo.springsource.org/libs-milestone-local

3. maven工程配置远程仓库

六、pom.xml配置依赖

1. 配置远程仓库

<!-- 配置远程仓库 -->
    <repositories>
        <repository>
            <id>maven</id>
            <url>https://repo1.maven.org/maven2/</url>
        </repository>
        <repository>
            <id>aliyun</id>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </repository>
        <repository>
            <id>jboss</id>
            <url>http://repository.jboss.com/maven2/</url>
        </repository>
        <repository>
            <id>oschina</id>
            <url>http://maven.oschina.net/content/groups/public/</url>
        </repository>
        <repository>
            <id>codelds</id>
            <url>https://code.lds.org/nexus/content/groups/main-repo</url>
        </repository>
        <repository>
            <id>hearglobal</id>
            <url>http://maven.hearglobal.com/content/groups/public/</url>
        </repository>
    </repositories>

二、发布jar包到本地仓库

6. install安装jar包到本地仓库

将jar包安装到本地仓库,默认按照pom.xml的groupId、artifactId和version的值进行发布。会将jar包和pom文件都传到仓库

## 1. cmd到工程根目录(pom.xml文件所在目录)
## 2. 执行maven命令
mvn install

查看pom.xml文件,确定groupId、artifactId、version

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.guoyasoft</groupId>
  <artifactId>my-app3</artifactId>
  <packaging>war</packaging>
  <version>1.0</version>
  <name>my-app3 Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>my-app3</finalName>
  </build>
</project>

到maven的本地仓库查找刚刚安装的jar包

图片 4

image.png

或者(定制细节):groupId组织机构域名、artifactId产品名、version版本

mvn install:install-file 
-DgroupId=com.guoyasoft 
-DartifactId=my-app 
-Dversion=1.0.0 
-Dpackaging=jar 
-Dfile=C:test7_mavenmy-apptargetmy-app-1.0-SNAPSHOT.jar

三、从中央仓库下载jar包

根据groupId、artifactId、version版本查找

图片 5

image.png

图片 6

image.png

图片 7

image.png

图片 8

image.png

图片 9

image.png

本文由365bet体育在线官网发布于网络工程,转载请注明出处:非maven的jar包怎么引入maven工程

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。