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