Andy Tolbert created CASSANDRA-20497:
----------------------------------------
Summary: Fix eclipse project generation on trunk by updating to
work with Java 11+
Key: CASSANDRA-20497
URL: https://issues.apache.org/jira/browse/CASSANDRA-20497
Project: Apache Cassandra
Issue Type: Improvement
Components: Build
Reporter: Andy Tolbert
Assignee: Andy Tolbert
While working on CASSANDRA-20328 I had to make a small tweak to allow
sstableloader to work in eclipse with its source moved to a new tools-specific
directory.
While doing this I noticed that eclipse project generation was not functional
for the following reasons:
# A classpath entry is added for {{${java.home}/../lib/tools.jar}}, which no
longer exists after JDK 9 ([JEP-220|https://openjdk.org/jeps/220])
# The generated .classpath file appears to be invalid xml due to some
injection of backslashes when closing off an element. This appears to have been
added in CASSANDRA-17294; It's possible that this worked at some point and was
broken for some other reason.
# Build fails because modules are not exported (e.g. missing
{{--add-exports}}, {{-add-opens}}, which is needed for JDK11+.
# Some dependencies, such as {{high-scale-lib}} includes package names that
exist in the core jdk (such as {{java.util}} and {{java.util.concurrent}})
which causes ecj to complain and fail to build, this is fixable by adding
{{org.eclipse.jdt.core.compiler.ignoreUnnamedModuleForSplitPackage=enabled}} to
{{.settings/org.eclipse.jdt.core.prefs}}.
# Classpath does not specify a minimum JDK requirement so an older JDK may be
chosen which would fail the build (Not strictly necessary, but nice to remove
any ambiguity about Java runtime selection)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]