【maven解决本地无名包的GAV问题】

Mavne项目构建的时候,需要引入本地其他非maven项目工程A的包,这个时候A由于属于“三无”包,缺少GAV,这个时候在maven项目构建就会有问题。

备注:

GAV,也就是下面英文字母的首写,也叫做Maven坐标,是用来唯一标识jar包的。

G:groupId 一般来代表项目名称,如:com.deyang.share

A:artifactId 一般来代表模块名称,如:share-common

V:version 模块版本,如:0.0.1-snapshot

通过这三个标识就可以唯一地确定jar包在maven仓库中的唯一地址了,然后就可以找到对应的jar包。网站:http://mvnrepository.com/,可以在顶部的搜索框中搜索jar包,然后找到需要的版本,然后可以找到相应的GAV,复制后粘贴到pom.xml中就可以了,maven会去自动下载相应的及其依赖的jar包。 类似如下的结构: <dependency>

      <groupId>javax.servlet</groupId>

      <artifactId>jstl</artifactId>

      <version>1.1.2</version>

</dependency>

解决方案一:

<dependency> 
            <groupId>cn.com.util</groupId> 
            <artifactId>util</artifactId> 
            <version>1.0</version>  
            <scope>system</scope> 
            <systemPath>C:\BigData_workspace\mavendemo\util.jar</systemPath> 
        </dependency> 

缺点:只能保证本地项目打包编译不出问题,打出包的结构不包含util任何东西,运行会出错

解决方案二:

本地安装方式,命令如下:

mvn install:install-file -DgroupId=cn.com -DartifactId=util2str -Dversion=1.0 -Dpackaging=jar -Dfile=C:/22/util.jar

 引入jar包方式

<dependency> 
      <groupId>cn.com</groupId>
    <artifactId>util2str</artifactId>
    <version>1.0</version>
     </dependency>  

就这样打包也不会出问题

解决方案三:这种方式尝试失败

 

猜你喜欢

转载自gaojingsong.iteye.com/blog/2293594