reuse project css less path folder hierarchy issue
- 2019 年 10 月 5 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
本文鏈接:https://jerry.blog.csdn.net/article/details/101001642
Question
1580024800 - Internal Incident: Q2C/GM4: Issue in 『Simulate sales pipeline』 app. I ran into a bit of problem while implementing the fix, my local eclipse maven build will fail if I change library.source.less the way you suggested, cause base.less and global.less don』t exist there (…/…/…/…/sap/ui/core/themes/sap_bluecrystal/base.less, eclipse error message pasted below), I』m wondering if there』s any way the solution could work with both server side and local environment? Thanks again for your help.
Caused by: org.mozilla.javascript.JavaScriptException: Error importing file: JavaException: java.io.IOException: File not found: sap/cus/crm/sap/ui/core/themes/sap_bluecrystal/base.less (less-api.js#146)
In order to illustrate my point, here』s a screenshot with remarks for your kindly information.

Answer
the path in your error message looks not correct. I think you need to add 3 additional occurrences of 「…/」 to navigate to the correct directory.
If your directory is:
sap/cus/crm/lib/reuse/themes/sap_bluecrystal
Your need to reference the base.less / global.less files via:

Then the path should be correctly resolved. The same goes for your base theme which should reference the less files from sap/ui/core/themes/base/.
Question
it worked locally ! will it work on the server as well? Let me find it out J
// this works @import 「…/…/…/…/…/…/…/sap/ui/core/themes/base/base.less」;
// this does not work, find can』t be found cause there』s no sap_bluecrystal folder in the local core @import 「…/…/…/…/…/…/…/sap/ui/core/themes/sap_bluecrystal/base.less」;

Answer
the core „sap_bluecrystal「 theme is part of the „themelib_sap_bluecrystal」 artefact. You need to add this dependency to your 「pom.xml」 file:
<dependency> <groupId>com.sap.ui5</groupId> <artifactId>themelib_sap_bluecrystal</artifactId> <version>{Same version as for your other dependencies, e.g. core}</version> </dependency>solution
為reuse lib inject了sap_bluecrystal them的dependency

第三步,我們reuse的程式碼(src/sap/cus/crm/lib/reuse/themes/sap_bluecrystal/library.source.less)中,加入了sap_bluecrystal jar包裡面base.less和global.less兩個style的引用
// BEGIN: i314323 fix for incident 1580024800 (Q2C/GM4: Issue in 'Simulate sales pipeline' app) @import "../../../../../../../sap/ui/core/themes/sap_bluecrystal/base.less"; @import "../../../../../../../sap/ui/core/themes/sap_bluecrystal/global.less"; // END: i314323 fix for incident 1580024800 (Q2C/GM4: Issue in 'Simulate sales pipeline' app)