hey Peppe,

duplicated dependency jars are an unfortunate result of the process with focus 
on getting the independent extension repos up and distributing. of course we 
planned to clean that out at a later stage. so thanks for looking into it.

i'm not sure how to deal with it intelligently.
current state
1. developer must be aware that other packaged extension uses the same 
dependency. make sure to use the same version. pack it to lib/ext/lib/ where 
shared dependencies will overwrite each other so in the end only one will 
survive.
ideally
2. maven packaging will detect a doubled dependency and
 - either throw an error and stop
 or better
 - actually fix it by (re)moving the duplicate.
 not sure how difficult any of this is to realize in maven.

Sextante extension utilizes ClassGraph now to find classes/resources. it can 
find duplicate paths[1] maybe that is an approach.

ideas? ..ede


[1] 
https://github.com/classgraph/classgraph/wiki/Code-examples#find-all-duplicate-class-definitions-in-the-classpath-or-module-path

On 15.01.2022 11:26, Giuseppe Aruta wrote:
Hi,
I gave a look into the folders of OpenJUMP-Portable-20220114-r5017 and I found 
that some libraries are duplicated or are in a wrong place

a) xml-apis-1.3.04.jar is into OJ/lib/ext/OpenKlem folder.  It should be into 
the OJ/lib folder as also embedded classes into OpenJUMP.jar need this library. 
It is quite impossible to view (Sextante) Raster Image layers if OJ does not 
detetch this class. OpenJUMP 1.16 has this class into OJ/lib folder, a newer 
one: xml-apis-1.4.01.jar

b) Both OpenKlem and Sextante have the following duplicated libraries into 
their folder: jep-2.4.2.jar, jfreechart-1.5.3.jar. I think these classes should 
go into OJ/Lib/ext or, better OJ/lib folder (and embedded into OpenJUMP core 
dist.
I prefer second option as both classes present many advantages compared to what 
OpenJUMP core uses instead:
a) jep is a math parser and it has its counterpart in pirol math parser 
libraries embedded into OpenJUMP ( classes de.fho.jump.pirol.utilities.*).
Jep is used by both Sextante raster/vector calculators and OpenKlem raster 
calculator . Pirol parser is used into Feature calculator.
But jep is more complete, it allows you to do logical operations (it, and, or, 
etc) and it has algorithms to work with matrices). One day we can subsitute 
pirol calsses with jep.
b) jfreechart is used by Sextante and OpenKlem diagrams. OpenJUMP uses JAIMath* 
classes which have lesser features. JMathPlot is in github but the project 
https://www.jfree.org/jfreechart/ <https://www.jfree.org/jfreechart/> seems 
more active in the last few years.

Best regards

Peppe




_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel



_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to