Maven环境下面多项目之间的引用
如图:
https://github.com/sdl/odata-example sdl OData例子包含了4个项目,下载到本地后编译。发现只有model项目是可以编译过去了。其他几个暂时编译不过。

提示:Could not find artifact,
原因如下:例如编译examble-datasource就会报如下错误,首先examble-datasource添加了对examble-model的引用,但是examble-model引用需要从maven的本地仓库中寻找。在我们本地仓库中一般情况不会有刚编译项目的jar包的。正常情况我们是编译成jar包,只会放在target目录里面了。
因为编译过程一般是
第一步,maven clean
第二步, 做个目标为:clean tomcat:redeploy的maven build,然后执行maven build。

这样target目录就会有对应的jar包了。

但是即使这样 examble-datasource编译的时候还是会报错。即便是examble-model的jar已经生成了也没用。因为examble-datasource调用的时候是调用Maven本地仓库里面的examble-model引用。
maven本地仓库的目录一般在下面 用户名\.m2\repository

所以 必须把example-model jar包添加到本地仓库。
参考
https://blog.csdn.net/chenbhhh/article/details/80737106?utm_source=blogkpcl5
https://blog.csdn.net/qq_15237993/article/details/72540928
新增一个maven build
其中goals如下:
install:install-file -Dfile=C:\Users\Thinkpad\Downloads\odata-example-master\example-model\target\example-model-1.0-SNAPSHOT.jar -DgroupId=com.sdl -DartifactId=example-model -Dversion=1.0-SNAPSHOT -Dpackaging=jar
其中的含义,如果example-datasource需要添加example-model的引用,则需要在POM文件中添加对model jar的引用

<dependency>
<groupId>com.sdl</groupId>
<artifactId>example-model</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
那么Maven 安装 JAR 包的命令是:
mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上面的artifactId -Dversion=上面的version -Dpackaging=jar

这样把example-model的的jar包添加到本地仓库后,在编译example-datasource发现可以通过了。
最后,直接maven build OData-example成功!大功告成。
在IDEA下面好像会简单一些,
可以参考:https://blog.csdn.net/yueloveme/article/details/80104808

Maven环境下面多项目之间的引用的更多相关文章
- 适AT maven多个子项目、父项目之间的引用问题
适AT maven多个子项目.父项目之间的引用问题 在项目时用到maven管理项目,在一个就项目的基础上开发新的项目:关于子项目和父项目,子项目与子项目之间的调用问题,发现自己存在不足,以下是自己 ...
- .NET三层架构各项目之间的引用关系及如何添加引用?
1.1三层之间的引用 整个.NET框架的项目创建完成之后,在开发之前,还需要建立各个项目之间的引用关系,以便在编写C#业务逻辑代码时调用相关项目的类库. 1.1.1 引用关系规则 .NET三层架构中的 ...
- maven多个子项目、父项目之间的引用问题
在项目时用到maven管理项目,在一个就项目的基础上开发新的项目:关于子项目和父项目,子项目与子项目之间的调用问题,发现自己存在不足,以下是自己查询的问题,解决了自己的疑惑. 问题 下面是一个简略的项 ...
- eclipse Reference 功能之——项目之间的引用
i'm sorry, i forgot this article where i found. that it is referenced. 以前也研究过Eclipse里Web Project引用Ja ...
- c# 项目之间循环引用vs弹窗提醒
circular dependencies in projects' graph ! Projects in cycle are:ProjectImp(Name:FrameWork.Entity,Pl ...
- Android学习笔记_71_Android 多个项目之间如何引用 项目怎样打jar包
一.将整个项目作为资源文件 1.需要将被应用的项目设置为库项目. 2.将该项目的配置文件中的四大组件清空,例如下面代码: <?xml version="1.0" encodi ...
- 两个Java项目之间相互调用
转自:http://dysfzhoulong.iteye.com/blog/1008747 一个项目A另一个项目B:(项目A和项目B都是Java写的项目) 在A项目中怎么调用B项目中的类和方法 有两种 ...
- 使用maven的profile切换项目各环境的参数
Java后端开发经常需要面对管理多套环境,一般有三种环境:开发,测试,生产. 各个环境之间的参数各不相同,比如MySQL.Redis等不同环境的host不一样,若每个环境都手动替换环境很容易出错,Ma ...
- 手动创建Maven项目并建立两个项目之间的依赖关系
用命令行快速建立maven项目 -> mvn:archetype:generate -> 直接回车或者自己输入你想生成的 -> groupId ->artifactId -&g ...
随机推荐
- 开启Windows8里面的Hyper-V虚拟机功能
首先了解下什么是Hyper-V?也就是虚拟化技术,允许终端用户在同一台机器上运行多个操作系统,支持32位和64位系统,可以直接在Windows 8上创建自己的虚拟机.开启Hyper-V虚拟机需要更多的 ...
- SqlServer性能瓶颈分析
SqlServer性能瓶颈分析 一.内存瓶颈分析--SQLServer:Buffer Manager SELECT TOP 312 * FROM sys.dm_os_performance_coun ...
- Java工具类之Apache的Commons Lang和BeanUtils
Apache Commons包估计是Java中使用最广发的工具包了,很多框架都依赖于这组工具包中的一部分,它提供了我们常用的一些编程需要,但是JDK没能提供的机能,最大化的减少重复代码的编写. htt ...
- XSS的原理分析与解剖(第二篇)[转]
0×01 前言: 上节(http://www.freebuf.com/articles/web/40520.html)已经说明了xss的原理及不同环境的构造方法.本期来说说XSS的分类及挖掘方法. 当 ...
- .net正则查询
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- HBase批量插入的简单代码
由于项目需要从HBase里读取数据,进行MapReduce之后输出到HDFS中. 为了测试方便,我这里写了一个批量插入HBase数据的测试代码.采用的Maven工程. 打算,今后的所有用到的小测试例子 ...
- WireShark抓包的pcap文件格式分析
http://www.360doc.com/content/14/0220/11/15257968_354157537.shtml http://www.360doc.com/content/14/0 ...
- asp.net web api 2框架揭秘文摘
第一章 概述 URI 统一资源标识符 URL 统一资源定位符 http方法:get,post,put,delete,head等 状态码:100-199,请求已被接受: 200-299,成功状态: 30 ...
- 我为什么要翻译ES6官方文档
ES6出来很久了,现在网上也有很多教程,其中以阮一峰老师的教程最为经典.大家通过学习阮老师的教程肯定能学懂ES6最新的技术. ES6官方文档是一个规范,各浏览器在实现ES6的具体API时都会遵循它.我 ...
- 策略和计费控制(PCC)系统研究
策略和计费控制(PCC)系统研究 研究内容 [TOC "float:left"] 策略与计费控制(PCC)框架1 [架构图](achitecture.png "Archi ...