一个大的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的更多相关文章

  1. 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 ...

  2. 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 ...

  3. 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 ...

  4. 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 ...

  5. 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 ...

  6. 针对Eclipse的maven Missing artifact com.microsoft.sqlserver:slqjdbc4:jar:4.0

    maven 中添加sqlserver 出错,报错内容 maven Missing artifact com.microsoft.sqlserver 解决方法这里先下载好jar包 ,然后maven命令执 ...

  7. 解决eclipse中maven出现的Failure to transfer XXX.jar的问题

    这个问题很烦,试了好几次都没有彻底解决,今天终于找到解决办法了. 问题主要出在,maven在下载jar的过程中出现了中断或者错误问题(不仅仅是eclipse,其他IDE也一样) 解决办法: 移除之前的 ...

  8. 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 ...

  9. 修改和编译spring源码,构建jar(spring-context-4.0.2.RELEASE)

    上周在定位问题时,发现Spring容器实例化Bean的时候抛出异常,为了查看更详细的信息,决定修改spring-context-4.0.2.RELEASE.jar中的CommonAnnotationB ...

随机推荐

  1. 关于定时器setTimeout()方法的实践--巧解bug

    _使用开发环境:UAP:_ _框架:JQuery.MX:_ 最近的开发的页面中,有一处需要在提交的 datagrid里启用行编辑,就会发生奇怪的bug,编辑过程中如图所示不移开焦点直接点保存,那么已输 ...

  2. gcc 常用指令

    gcc hello.c    直接编译默认输出 a.out可执行文件 gcc hello.c -o hello    生成名字为hello的可执行文件 gcc hello.c -o hello -Wa ...

  3. [转]Java调用Javascript、Python算法总结

    最近项目中经常需要将Javascript或者Python中的算法发布为服务,而发布Tomcat服务则需要在Java中调用这些算法,因此就不免要进行跨语言调用,即在Java程序中调用这些算法. 不管是调 ...

  4. source-insight 常用操作

    [Ctrl + ] 跳转到函数.宏.变量 等定义处. [Alt  > ] 跳转到最近光标停留位置. [Alt  < ] 跳转到上次近光标停留位置. [Ctrl Shift [ ] 块位置开 ...

  5. 定时任务模块 schedule

    # coding:utf-8 from learning_python.Telegram_push.check_hardware import check_cpu import schedule im ...

  6. Vbox隐藏虚拟机,实现后台运行

    Vbox隐藏虚拟机,实现后台运行   1.进入vBox安装位置的命令行 D:\Program Files\VirtualBox> 2.执行命令: .\VBoxManage startvm Xp_ ...

  7. mysql 8.0 主从复制的优化

    mysql 8.0复制改进一简介: 基于GTID下的并行复制,本文不考虑MGR架构二 主要特性   1 基于writeset的下的改进型并行复制     我在之前的一篇文章关于并行复制中详细的介绍了关 ...

  8. mysql数据库目录my.ini的内容

    [mysql]  # 设置mysql客户端默认字符集  default-character-set=utf8  [mysqld]  #设置3306端口  port = 3306  # 设置mysql的 ...

  9. Warning: mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]报错解决方法

    错误: 解决方法:

  10. css -理解盒模型

    标准模式: 总宽度/高度=width/height+padding+border+margin 怪异模式(quirks 模式): 总宽度/高度=width/height + margin = 内容区宽 ...