Hi, all.

Maybe someone has already faced the issue with Ignite and latest Maven release 3.8.1?

https://issues.apache.org/jira/browse/IGNITE-14753

From 3.8.1 maven supplied with config that will block any http repository/mirror. (See details here https://maven.apache.org/docs/3.8.1/release-notes.html#cve-2021-26291)

Attempt to perform a build produces several errors:


1. Third party dependencies

1.1) jta, hibernate-4.2, hibernate-5.1, hibernate-5.3 (btw hibernate-* modules aren't built during mvn install)

org.ow2.jotm:jotm-core:jar:2.2.3
-> org.ow2.carol:carol:jar:3.0.8
-> org.jacorb:jacorb:jar:2.2.3-jonas-patch-20071018

jotm is a test dependency. Switch to latest available version 2.3.1-M1 did the trick. I didn't find any changelog for latest jotm release (their site jotm.ow2.org seems a bit abandoned). I checked a little the diff between 2.2.3 and 2.3.1-M1 source jars. Seems that there was some changes in RMI related facilities, but i don't have enough expertise make a conclusion that switch to 2.3.1-M1 would be safe (even if tests would be green). Due to state of JOTM project maybe we should consider using another JTA implementation with ongoing support like Atomicos or Narayana (this implementation is also from the JBoss family like Hibernate)?

1.2) spark

[ERROR] Failed to execute goal on project ignite-spark: Could not resolve dependencies for project org.apache.ignite:ignite-spark:jar:2.11.0-SNAPSHOT: Failed to collect dependencies at org.apache.spark:spark-core_2.11:jar:2.3.0 -> net.java.dev.jets3t:jets3t:jar:0.9.4 -> commons-codec:commons-codec:jar:1.15-SNAPSHOT: Failed to read artifact descriptor for commons-codec:commons-codec:jar:1.15-SNAPSHOT: Could not transfer artifact commons-codec:commons-codec:pom:1.15-SNAPSHOT from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [apache.snapshots (http://repository.apache.org/snapshots, default, snapshots)] -> [Help 1]

Updating to latest spark-core_2.11 maintenance version (2.3.0 -> 2.3.4) did the job.


2. Broken plugins configuration

Currently ignite-parent uses org.apache:apache:16 as parent. Up to 18 release apache used http schema in different places of its configuration (e.g. snapshot repository). So i guess its a good reason to update apache parent at least to 18 release or maybe even to latest 23. This upgrade will break builds for several modules:

2.1) maven-jar-plugin */useDefaultManifestFile/* option was removed, so usage of this option (true for ignite) will break the build. I guess we can safely remove it from parent pom.

2.2) Classifiers in ignite-exdata-uri. Building ignite-exdata-uri with latest jar plugin produces errors like:

    ignite-extdata-uri: You have to use a classifier to attach supplemental artifacts to the project instead of replacing them

Seems that jar plugin doesn't like when build produces multiple jars even if they finalName's are different. Reworking build configuration with classifiers fixed the problem.


I've created a PR with proposed changes: https://github.com/apache/ignite/pull/9116, comments are welcome

Reply via email to