I'm running Eclipse Version: 2024-03 (4.31.0) Build id: 20240307-1437.
I have the following Subclipse installed via the Marketplace:
Subclipse 4.3.4.202306191346
Subversion 1.14 JavaHL 1.14.0.202005311413
Subversion Revision Graph 4.2.0.1
SVNKit Client Adapter 1.8.12.3
Commits are failing with the following error:
An internal error occurred during: "SVN Commit".
Unable to make field private java.lang.Throwable java.lang.Throwable.cause accessible: module java.base does not "opens java.lang" to unnamed module @45dab1cd
I have uninstalled Subclipse, restarted Eclipse, re-installed Subsclipse, restarted Eclipse and the same error occurs.
What is causing Subclipse to fail?
UPDATE 2024-04-02
This is a fresh install of Eclipse. Here is the eclipse.ini
file:
-startup
plugins/org.eclipse.equinox.launcher_1.6.700.v20240213-1244.jar
--launcher.library
C:\Users\mbmas_000\.p2\pool\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.900.v20240213-1244
-product
org.eclipse.epp.package.jee.product
-showsplash
C:\Users\mbmas_000\.p2\pool\plugins\org.eclipse.epp.package.common_4.31.0.20240307-1200
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclientjava
-Dosgi.requiredJavaVersion=17
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-Dosgi.dataAreaRequiresExplicitInit=true
-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true
-Declipse.e4.inject.javax.warning=false
-Dsun.java.command=Eclipse
-Xms256m
-Xmx2048m
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Djava.security.manager=allow
-Declipse.p2.max.threads=10
-Doomph.update.url=https://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->https://raw.githubusercontent.com/eclipse-oomph/oomph/master/setups/
Here is the log file:
!SESSION 2024-04-02 10:08:14.694 -----------------------------------------------
eclipse.buildId=4.31.0.20240307-1200
java.version=17.0.3.1
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.epp.package.jee.product
Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product
!ENTRY org.eclipse.emf.ecore 2 0 2024-04-02 10:08:23.230
!MESSAGE Both 'org.eclipse.jst.j2ee.core' and 'org.eclipse.jst.j2ee.core' register a package for 'application.xmi'
!ENTRY ch.qos.logback.classic 1 0 2024-04-02 10:08:25.168
!MESSAGE Activated before the state location was initialized. Retry after the state location is initialized.
!ENTRY ch.qos.logback.classic 1 0 2024-04-02 10:08:31.980
!MESSAGE Logback config file: C:\Users\mbmas_000\workspace\.metadata\.plugins\org.eclipse.m2e.logback\logback.2.6.0.20240217-1525.xml
!ENTRY org.eclipse.mylyn.tasks.core 2 0 2024-04-02 10:08:46.314
!MESSAGE
!SUBENTRY 1 org.eclipse.mylyn.tasks.core 2 0 2024-04-02 10:08:46.315
!MESSAGE Unable to read task, missing connector with kind "bugzilla"
!ENTRY org.eclipse.mylyn.tasks.core 2 0 2024-04-02 10:08:46.320
!MESSAGE
!SUBENTRY 1 org.eclipse.mylyn.tasks.core 2 0 2024-04-02 10:08:46.320
!MESSAGE Unable to read task, missing connector with kind "bugzilla"
!ENTRY org.eclipse.egit.ui 2 0 2024-04-02 10:09:01.683
!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git
user global configuration and to define the default location to store repositories: 'C:\Users\mbmas_000'. If this is
not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and
EGit might behave differently since they see different configuration options.
This warning can be switched off on the Team > Git > Confirmations and Warnings preference page.
!ENTRY org.eclipse.core.jobs 4 2 2024-04-02 10:09:44.062
!MESSAGE An internal error occurred during: "SVN Commit".
!STACK 0
java.lang.reflect.InaccessibleObjectException: Unable to make field private java.lang.Throwable java.lang.Throwable.cause accessible: module java.base does not "opens java.lang" to unnamed module @1e6dbdb1
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:354)
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:178)
at java.base/java.lang.reflect.Field.setAccessible(Field.java:172)
at org.tmatesoft.svn.core.javahl17.SVNClientImpl.getClientException(SVNClientImpl.java:1543)
at org.tmatesoft.svn.core.javahl17.SVNClientImpl.commit(SVNClientImpl.java:504)
at org.tigris.subversion.svnclientadapter.javahl.AbstractJhlClientAdapter.commit(AbstractJhlClientAdapter.java:339)
at org.tigris.subversion.subclipse.core.commands.CheckinResourcesCommand$1.run(CheckinResourcesCommand.java:154)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin$6.run(SVNProviderPlugin.java:514)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2448)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2473)
at org.tigris.subversion.subclipse.core.SVNProviderPlugin.run(SVNProviderPlugin.java:508)
at org.tigris.subversion.subclipse.core.commands.CheckinResourcesCommand.run(CheckinResourcesCommand.java:119)
at org.tigris.subversion.subclipse.core.SVNTeamProvider.checkin(SVNTeamProvider.java:132)
at org.tigris.subversion.subclipse.ui.operations.CommitOperation.execute(CommitOperation.java:129)
at org.tigris.subversion.subclipse.ui.operations.SVNOperation.run(SVNOperation.java:88)
at org.eclipse.team.internal.ui.actions.JobRunnableContext.run(JobRunnableContext.java:155)
at org.eclipse.team.internal.ui.actions.JobRunnableContext$ResourceJob.runInWorkspace(JobRunnableContext.java:83)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:43)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
I found the root cause of this problem and was able to resolve it.
The root cause is fully documented here Subclipse fails on java 17.
The issue is not with Subclipse; rather it is with SVNKit, which is not part of Subclipse. The solution is to have Eclipse install the latest version of SVNKit. The latest version is documented and available here SVNKit.
To have Eclipse install the latest version, from Eclipse, Help > Install New Software...
In the Work with
field, enter http://eclipse.svnkit.com/1.3.x
(check the SVNKit site to make sure this is still current - if not, use whatever is current) and click Add.
The Add Repository
dialog box appears. The Location
filed is populated with the URL you previously entered. In the Name
field enter org.tmatesoft.svn_1.3.8.eclipse.zip
(again, check the SVNKit site to make sure this is still current) and then continue with the install and follow Eclipse's instructions.