IDE(Eclipse) Plugin 설치 발생 오류 관련 임시 해결방편(기능 미사용처리)
작업 전, 이클립스 프로세스는 종료하고 작업진행
# 사용버전정보
- 이클립스 : 2024-06R
- openjdk : jdk-21.0.2
- 이클립스(플러그인)
-> Jboss Tools 4.29.1.Final
# 오류상세내용
- 에러케이스1
# Uable to execute early startup code for the org.eclipse.ui.IStartup extension contributed by the 'org.jboss.tools.quarkus.lsp4e' plug-in. java.lang.ClassCastException: class org.eclipse.jdt.internal.core.JavaNature cannot be cast to class org.eclipse.jdt.core.IJavaProject (org.eclipse.jdt.internal.core.JavaNature and org.eclipse.jdt.core.IJavaProject are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3763858c) at org.jboss.tools.quarkus.lsp4e.internal.qute.QuteProjectListener.configrueProject(QuteProjectListner.java:101) |
- 에러케이스2
# Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench" java.lang.ClassCastException: class org.eclipse.jdt.internal.core.JavaNature cannot be cast to class org.eclipse.jdt.core.IJavaProject (org.eclipse.jdt.internal.core.JavaNature and org.eclipse.jdt.core.IJavaProject are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3763858c) at org.jboss.tools.quarkus.lsp4e.internal.qute.QuteProjectListener.configrueProject(QuteProjectListner.java:101) |
- 에러케이스3
# An internal error occurred during: "Updating Maven Project" class org.eclipse.jdt.internal.core.JavaNature cannot be cast to class org.eclipse.jdt.core.IJavaProject (org.eclipse.jdt.internal.core.JavaNature and org.eclipse.jdt.core.IJavaProject are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3763858c) |
- 에러케이스4
# Errors occurred during the build. Errors running builder 'Maven Project Builder' on project 'a-front'. class org.eclipse.jdt.internal.core.JavaNature cannot be cast to class org.eclipse.jdt.core.IJavaProject (org.eclipse.jdt.internal.core.JavaNature and org.eclipse.jdt.core.IJavaProject are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3763858c) |
- 에러케이스5
# An internal error occurred during: "refresh" class org.eclipse.jdt.internal.core.JavaNature cannot be cast to class org.eclipse.jdt.core.IJavaProject (org.eclipse.jdt.internal.core.JavaNature and org.eclipse.jdt.core.IJavaProject are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @3763858c) |
# 의존성관계를 가지고 있는 플러그인/모듈의 bundle을 검색
1. WSL2를 활요해 명령어로 조회 : grep -R 'org.jboss.tools.quarkus.lsp4e'
- 대량의 package 정보들 가운데, 문제시 되는 메인 package 정보 확인
-> plugins/org.jboss.tools.quarkus.lsp4e_1.10.100.v20231012-1606/*
2. WSL2를 활요해 명령어로 조회 : grep -R ' org.jboss.tools.quarkus.lsp4e_1.10.100.v20231012-1606 '
- 조회 시, 수 많은 plugin들을 묶어주는 bundle들을 관리하는 파일 확인가능
-> configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
3. bundles.info에서 org.jboss.tools.quarkus.lsp4e_1.10.100.v20231012-1606 파라메터 등록된 정보를 주석처리
-> #org.jboss.tools.quarkus.lsp4e,1.10.100.v20231012-1606, plugins/org.jboss.tools.quarkus.lsp4e_1.10.100.v20231012-1606/,4,false
# 플러그인 기능 정보
org.jboss.tools.quarkus.lsp4e 플러그인은 Eclipse IDE에서 Quarkus 프로젝트를 지원하는 데 사용되는 플러그인.
Quarkus는 클라우드 네이티브 및 컨테이너화된 환경에서 Java 애플리케이션을 실행하기 위해 설계된 프레임워크이며,
이 플러그인은 Quarkus 프로젝트를 Eclipse IDE 내에서 효율적으로 관리할 수 있도록 도와줌.
- Quarkus 프로젝트 생성 및 관리: Quarkus 애플리케이션을 쉽게 생성하고 관리할 수 있는 템플릿 및 마법사 기능을 제공.
- 코드 완성 및 유효성 검사: Quarkus의 특성에 맞는 코드 완성, 유효성 검사, 그리고 구성을 위한 지원을 제공.
- Qute 템플릿 지원: Quarkus에서 사용되는 Qute 템플릿 엔진에 대한 지원을 제공.
# 주의사항
플러그인을 비활성화하면 Quarkus 프로젝트에 대한 개발 지원(예: 코드 완성, 오류 검출 등)이 제한되거나 사용할 수 없게 됨.
따라서 Quarkus를 사용한 개발이 필요하지 않거나, Eclipse에서 해당 기능이 필수적이지 않다면 비활성화해도 문제 없음.
# 결론
현재 이클립스 버전(2024-06R)과 openjdk(jdk-21.0.2) 버전은 필수 버전이기 때문에
JBoss Tools의 버전을 낮추거나, Eclipse와 JDK의 버전을 호환성 있는 조합으로 맞출수 없어 이와 같은 방법으로 진행.
# reference
- download : https://www.eclipse.org/downloads/packages/
- jboss tools : https://download.jboss.org/jbosstools/photon/stable/updates/discovery.central/4.29.1.Final/