将jar在before_build阶段复制到/lib时,为什么在编译过程中jar不在类路径上?

2020-09-15 20:34发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在为有关powermock的...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在为有关powermock的类加载问题。 因此,我试图将powermock库动态复制到它们应该位于的lib文件夹中。为了构建hybris,它们应该在hycode版本的 platform/ext/core/lib 中 我正在使用。 因此,一般情况是:

存在一个包含一些jar的文件夹 platform/ext/core/lib_2 。 这些罐子在 core_before_build 阶段复制到 platform/ext/core/lib

  
    <顺序>
     
      
       
      
     
    
   

  

但是,如果有扩展名 A 要求使用这些jar进行编译,则编译将失败。 ant的详细输出显示,在 core_before_build 期间复制到 platform/ext/core/lib 的jar不在 YJavaC 任务。 A extensioninfo.xml 中具有 core requires-extension 元素。 这是在hybris 6.6上进行的测试(但是powermock jar的位置已更改,但是一般问题是相同的。)

为什么这些jar不在用于编译 A 的类路径上,我需要什么才能将它们放到该类路径上?

1条回答
CPLASF-自律
2020-09-15 20:42

你好安德里亚斯,

原因是,您复制的jar不在类路径中,因为此计算是较早完成的。

解决方案很简单:还将复制的jar也在您的macrodef中添加到类文件中:

  
      <模式>
          
      
  

  

问候迈克尔

一周热门 更多>