Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0044733Openbravo ERPA. Platformpublic2020-07-31 13:542020-11-02 07:08
shuehner 
platform 
normalmajorhave not tried
closedfixed 
5
 
 
Core
No
0044733: Tracking issue: Find and fix all jar libaries with split packages between classpath and system image (Forbidden since Java9)
Since Java>9 the following scenarios are no longer allowed:
a.) 'split package' between two different 'java modules'
b.) 'split package' between java system image and normal classpath

While the first topic only applies when using java module system the 2nd case applies even without it.

split package example:
- java system image (jdk itself) ships classes in some package
- a jar library ship classes in the same java package also

That is now forbidden.

Current status:
a.) Normal javac java compiler does not prohibit this yet
b.) javac bug is reported and acknowledged to implement this stricter rules
https://bugs.openjdk.java.net/browse/JDK-8215739 [^]
When this change is implemented probably compilation will be broken in this scenario

c.) Using Eclipse IDE with compiler=11 will fail to compile if
- split package exists
- Compilation needs to read a .class related related to it

d.) ecj.jar eclipse commands line compiler used in Openbravo 'eclipse-warnings' CI check
Fails in the same way then c.) (with compiler set to 11)

Related upstream discussions:
1.) javac issue
https://bugs.openjdk.java.net/browse/JDK-8215739 [^]
2.) eclipse bug with lots of discussion
https://bugs.eclipse.org/bugs/show_bug.cgi?id=536928 [^]

Issue 44625 has a reproducible example
Find any jar library causing split-package and fix it.
Fix could be:
- Remove usage of the whole library if possible
- Remove the split-package situation by either
  - Getting upstream to fix it
  - Patching the library locally (only if unavoidable)
No tags attached.
depends on defect 0044625 closed platform Openbravo ERP Remove or fix xercesImpl.jar library to support eclipse java 11 
depends on defect 0044626 closed platform Modules Remove or fix jaxen-1.1.1.jar and xmlbeans-2.3.0 libraries to support Eclipse Java 11 
depends on defect 0044734 closed shuehner Openbravo ERP Remove jar library: lib/stax-api-1.0.1.jar as not required and causes split package with java system image 
depends on defect 0044735 closed shuehner Retail Modules Jar library mobile-test/lib/google/transaction-api-1.1.jar causes split package with java system image 
depends on defect 0044736 closed shuehner Openbravo ERP org.openbravo.xmlpo contains 2 jar libraries causing split-package with java system image 
depends on defect 0044754 closed caristu Modules 2 jar libraries related to batik cause split package problem (batik-ext-1.7.jar, xml-apis-1.3.04.jar) 
depends on defect 0044775 closed Retail Retail Modules xmlbeans jar library in copystore.excel module causes split package situation 
depends on defect 0044779 closed Triage Finance Modules Jaxen 1.1.1 jar library in IDL modules causes split package problem 
depends on defect 0048749 closed alostale Openbravo ERP org.openbravo.legacy.axis split package with jaxrpc 
blocks feature request 0044624 closed platform Openbravo ERP Remove Java 8 JDK Support and raise stack to Java 11 
blocks feature request 0044064 closed cberner Openbravo ERP Raise minimum stack Java version to JDK11 
Issue History
2020-07-31 13:54shuehnerNew Issue
2020-07-31 13:54shuehnerAssigned To => platform
2020-07-31 13:54shuehnerModules => Core
2020-07-31 13:54shuehnerTriggers an Emergency Pack => No
2020-07-31 13:54shuehnerRelationship addeddepends on 0044625
2020-07-31 13:54shuehnerRelationship addedblocks 0044626
2020-07-31 13:59shuehnerNote Added: 0121741
2020-07-31 14:01shuehnerRelationship addeddepends on 0044734
2020-07-31 14:03shuehnerRelationship addedblocks 0044624
2020-07-31 14:18shuehnerRelationship addeddepends on 0044735
2020-07-31 14:25shuehnerRelationship addeddepends on 0044736
2020-07-31 14:30shuehnerRelationship replaceddepends on 0044626
2020-08-05 10:59shuehnerRelationship addeddepends on 0044754
2020-08-10 17:31shuehnerRelationship addeddepends on 0044775
2020-08-11 09:35shuehnerRelationship addeddepends on 0044779
2020-10-05 10:05cbernerRelationship addedblocks 0044064
2020-11-02 07:07alostaleNote Added: 0124076
2020-11-02 07:07alostaleNote Edited: 0124076bug_revision_view_page.php?bugnote_id=0124076#r21848
2020-11-02 07:07alostaleStatusnew => scheduled
2020-11-02 07:07alostaleStatusscheduled => resolved
2020-11-02 07:07alostaleFixed in SCM revision => -
2020-11-02 07:07alostaleResolutionopen => fixed
2020-11-02 07:08alostaleStatusresolved => closed
2022-03-10 08:35alostaleRelationship addeddepends on 0048749

Notes
(0121741)
shuehner   
2020-07-31 13:59   
There is an utility script in this repo checking jar libraries and raising the split package situations:
https://gitlab.com/openbravo/tools/platform/jar-collision-finder [^]
(0124076)
alostale   
2020-11-02 07:07   
All known cases are addressed