Я использую версию Eclipse: 2024-03 (4.31.0). Идентификатор сборки: 20240307-1437.
Через Marketplace у меня установлен следующий Subclipse:
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
Коммиты не выполняются со следующей ошибкой:
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
Я удалил Subclipse, перезапустил Eclipse, переустановил Subsclipse, перезапустил Eclipse, и возникла та же ошибка.
Что вызывает сбой Subclipse?
ОБНОВЛЕНИЕ 2 апреля 2024 г.
Это новая установка Eclipse. Вот файл eclipse.ini:
-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
[email protected]/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/
Вот файл журнала:
!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)
Возможно, что-то не так с вашим eclipse.ini: eclipse.ini должен содержать где-то ниже линии -vmargs линию --add-modules=ALL-SYSTEM.





Я нашел причину этой проблемы и смог ее решить.
Основная причина полностью описана здесь Сбой Subclipse на Java 17.
Проблема не в Subclipse; скорее это SVNKit, который не является частью Subclipse. Решение состоит в том, чтобы Eclipse установил последнюю версию SVNKit. Последняя версия задокументирована и доступна здесь SVNKit.
Чтобы Eclipse установил последнюю версию из Eclipse, Help > Install New Software...
В поле Work with введите http://eclipse.svnkit.com/1.3.x (проверьте сайт SVNKit, чтобы убедиться, что он все еще актуален; если нет, используйте текущую версию) и нажмите «Добавить».
Появится диалоговое окно Add Repository. Поле Location будет заполнено ранее введенным вами URL-адресом. В поле Name введите org.tmatesoft.svn_1.3.8.eclipse.zip (еще раз проверьте сайт SVNKit, чтобы убедиться, что он актуален), а затем продолжите установку и следуйте инструкциям Eclipse.
Похоже, это связано с виртуальной машиной Java, с которой вы запускаете Eclipse. Пожалуйста, покажите свой файл
eclipse.ini(добавьте его содержимое в свой вопрос в формате образца кода: с отступом в четыре пробела, чтобы сохранить разрывы строк и такие символы, как<). Также покажите полную ошибку: перейдите в представление «Журнал ошибок», выберите ошибку (не открывайте ее, просто выберите строку), нажмите Ctrl+C и вставьте все (убедитесь, что все начинается сeclipse.buildId=и ничего не обрезано; если вы что-то анонимизируете, так и скажите). Если в последнее время было зарегистрировано больше ошибок, сначала удалите журнал ошибок и воспроизведите проблему.