Maven 错误 :The POM for com.xxx:jar:0.0.1-SNAPSHOT is invalid, transitive dependencies (if any) will not be available
一个大的maven 项目,结构是一个根pom,下面几个小的module,包括了appservice-darc,appservice-entity等,其中appservice-darc 依赖了 appservice-entity。
但是呢,对根项目的pom, 执行mvn clean complie 是没问题的,但是对 appservice-darc 执行 mvn clean complie是不行的,出现下面错误:
[INFO] ------------------------------------------------------------------------
[INFO] Building appservice-darc 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for com.worepay:appservice-entity:jar:0.0.1-SNAPSHOT is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ appservice- ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 4 resources
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ appservice- ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 10 source files to F:\dev\SVN\GYF\newAppservice\appservice-\target\classes
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /F:/dev/SVN/GYF/newAppservice/src/main/java/com/worepay/appservice//Banner.java:[3,25] 程序包javax.persistence不存在
[ERROR] /F:/dev/SVN/GYF/newAppservice/src/main/java/com/worepay/appservice//Banner.java:[4,25] 程序包javax.persistence不存在
[ERROR] /F:/dev/SVN/GYF/newAppservice/src/main/java/com/worepay/appservice//Banner.java:[5,25] 程序包javax.persistence不存在
[ERROR] /F:/dev/SVN/GYF/newAppservice/src/main/java/com/worepay/appservice//Banner.java:[8,2] 找不到符号
符号: 类 Table
[ERROR] /F:/dev/SVN/GYF/newAppservice/src/main/java/com/worepay/appservice//Banner.java:[12,10] 找不到符号
符号: 类 Id
位置: 类 com.worepay.appservice..Banner
[ERROR] /F:/dev/SVN/GYF/newAppservice/src/main/java/com/worepay/appservice//Banner.java:[13,10] 找不到符号
符号: 类 Column
位置: 类 com.worepay.appservice..Banner
[ERROR] /F:/dev/SVN/GYF/newAppservice/src/main/java/com/worepay/appservice//Banner.java:[17,10] 找不到符号
符号: 类 Column
IDEA中项目源码中是没有错误的,说明编译是ok的,但是执行maven compile 就是不行。。 检查发现 persistence-api-1.0.jar 依赖也确实是存在的。但是为什么mvn操作就总是不行呢?
appservice-darc 依赖了 appservice-entity,而从上面的日志看, appservice-entity好像有什么问题。。 pom 为什么是 invalid ? 打开pom 是没用任何错误提示的呢, 那就奇怪了。。
后面通过maven 调试发现(添加 -X 参数 ),发现appservice-entity确实还是有问题的。原因是appservice-entity 的pom 引用了一个本地的jar,它的写法是 相对路径,从而导致appservice-entity 所依赖的所有jar都不可用了,如下:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/ojdbc14_g.jar</systemPath>
</dependency>
从而,maven compile 失败了。 怎么解决呢? 提示告诉我,需要写成绝对路径的形式。 把那个本地jar 的地址改为绝对路径就好了:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.1.0</version>
<scope>system</scope>
<systemPath>F:/dev/SVN/GYF/rxw/newAppservice/appservice-entity/lib/ojdbc14_g.jar</systemPath>
</dependency>
不过,发现 还行需要先把appservice-entity 先install,不install 还不行。我开始就是compile了一下,以为都在一个项目了, 应该不至于那么傻,引用不到吧。结果还真是,还是报之前一样的错误。后面只有乖乖的install 一下,结果就好了。
观察发现,appservice-darc 是从本地maven 仓库中去获取appservice-entity 的jar , 因为单单是maven compile,不能要保证本地仓库中的appservice-entity 已经是最新的,是没用的。如果事先对appservice-entity执行clean compile,那么clean 操作会清除本地仓库对应的 jar, 所以本地仓库中的appservice-entity 是不存在的,仅仅存在于当前项目的target目录。
Maven 错误 :The POM for com.xxx:jar:0.0.1-SNAPSHOT is invalid, transitive dependencies (if any) will not be available的更多相关文章
- maven编译问题之 -The POM for XXX is invalid, transitive dependencies (if any) will not be available
问题一: 把父工程tao-parent install 到maven本地仓后,接着install tao-common工程,然后报错 报错信息如下: [WARNING] The POM for com ...
- The POM for XXX is invalid, transitive dependencies (if any) will not be available解决方案
今天,某个开发的环境在编译的时候提示警告The POM for XXX is invalid, transitive dependencies (if any) will not be availab ...
- The POM for com.alibaba:druid:jar:1.2.6 is invalid, transitive dependencies (if any) will not be available
开发环境 IDEA2020.3, jdk1.8.0_231 问题描述 开发中引入了druid-spring-boot-starter最新版本1.2.6,项目install时的时候一直出现警告 The ...
- mvn 报错 - The POM for <name> is invalid, transitive dependencies (if any) will not be available
核心: 通过 mvn dependency:tree -X 分析依赖解决方案: 解决依赖冲突版本 1. MILGpController 编译突然报错 14:10:28 [ERROR] Failed ...
- Maven错误-Missing artifact com.sun:tools:jar:1.5.0:system 解决方式
1.Missing artifact com.sun:tools:jar:1.5.0:system Could not resolve dependencies for project com.ifl ...
- 针对Eclipse的maven Missing artifact com.microsoft.sqlserver:slqjdbc4:jar:4.0
maven 中添加sqlserver 出错,报错内容 maven Missing artifact com.microsoft.sqlserver 解决方法这里先下载好jar包 ,然后maven命令执 ...
- 解决eclipse中maven出现的Failure to transfer XXX.jar的问题
这个问题很烦,试了好几次都没有彻底解决,今天终于找到解决办法了. 问题主要出在,maven在下载jar的过程中出现了中断或者错误问题(不仅仅是eclipse,其他IDE也一样) 解决办法: 移除之前的 ...
- Maven Assembly打包提示[WARNING] transitive dependencies if any will not be available
maven assembly打包出现错误 [WARNING] The POM for com.flink.xxr:0.0.1-SNAPSHOT is invalid, transitive depen ...
- 修改和编译spring源码,构建jar(spring-context-4.0.2.RELEASE)
上周在定位问题时,发现Spring容器实例化Bean的时候抛出异常,为了查看更详细的信息,决定修改spring-context-4.0.2.RELEASE.jar中的CommonAnnotationB ...
随机推荐
- 使用feign出现 java.lang.IllegalStateException: Service id not legal hostname
检查spring. application.name是否使用了_
- 前端自动化构建工具 gulp 学习笔记 一、
一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...
- 谈一谈java中的Canves机制
0--写在前面: 很多初学java的童鞋,常常很苦恼,一天天的都跟命令行较劲,好像很无聊的样子,如果能跳出命令行做出界面甚至一个画图界面,那将是一件很兴奋的事情:也可以让编程变的有趣:有脑洞的同学还可 ...
- ubuntu16.04 使用kinectv2跑Elasticfusion
1.安装openni2 参考:https://blog.csdn.net/D206_hero/article/details/78985859?utm_source=blogxgwz3 sudo a ...
- 常识判断-科技-day123
PS: 在常识中科技是最难的 PS: 20-2w HZ是人能听到的频率 PS: 物体的熔点和凝固点是一致的 PS: 氮肥如果多了,可能只是长叶子不结果: 磷肥促进开花结果 PS; 病毒是介于生物和非 ...
- redis五种数据类型和常用命令及适用场景
一.redis的5种数据类型: 1.基础理解: string 字符串(可以为整形.浮点型和字符串,统称为元素) list 列表(实现队列,元素不唯一,先入先出原则) set 集合(各不相同的元素) h ...
- Missile Command 导弹指令
发售年份 1980 平台 街机 开发商 雅达利(Atari) 类型 射击 https://www.youtube.com/watch?v=nokIGklnBGY
- QCAD 怎么把多余的线剪掉
QCAD 怎么把多余的线剪掉 如下所示如果我在 AutoCAD 中我是使用 Trim 的功能,但是在 QCAD 似乎不可行. 然后现在以上而有个 Divide,感觉有用,相当于线打断,然后再删除,这个 ...
- DNS实战--2
构建企业级DNS服务压测,服务的功能测试,这些在生产中都要考虑到 1.硬件选型dns对网卡和cpu消耗大下面配置可以达到单台服务器每秒3万请求,0延时CPU:12c以上配置内存:16GB网络:千兆 2 ...
- idea调试代码跟踪到tomcat代码里面
在POM.xml文件里面加上如下代码即可: <dependency> <groupId>org.apache.tomcat</groupId> <artifa ...