공부만이 살길

[에러] Spring setting.xml 파일 설정 cvc-elt.1.a: Cannot find the declaration of element 'beans'. 에러 본문

Error

[에러] Spring setting.xml 파일 설정 cvc-elt.1.a: Cannot find the declaration of element 'beans'. 에러

공부만이 살길이야 2024. 1. 23. 16:20
반응형
SMALL

스프링을 공부 중 처음 만나게 된 문제.

 

Spring의 기본적인 도구들을 다운받기 위해, Eclipse Marketplace에서 Spring을 install 받았다.

 

 

하지만 이게 웬걸 ?

 

 

무한 에러.. 계속되는 에러에 다시 프로젝트를 재생성하여 진행해보아도 설치가 안되는것은 똑같았다.

계속해서 찾아보니, 어떤 친절한 분이 이런 댓글을 남겨주신 것을 발견했다.

 

이 분 아니었으면.. 한참을 더 헤맸겠지

 

현재 이클립스 최신 버전들의 경우 Spring tools 3 Add-On은 지원하지 않는다는 것..

참고로 나는 뉴렉처님의 https://youtu.be/Jwoz4ORX60A?si=WVusxv1cgHUkdLdB 강의를 보고 스프링을 공부 중이었기 때문에

위 강의에서 나왔던 설정 파일에 대한 코드를 보고 Setting.xml을 직접 작성하기로 했다.

 

 

그러나 위 코드대로 setting.xml을 새롭게 작성하였지만,

 

두개의 새로운 에러와 마주하게 되었다..

cvc-elt.1.a: Cannot find the declareation of elemnet 'beans'.
Downloading external resources disabled.

 

이건 또 무슨 에러인가.. 

 

우선은 위 에러를 두고, 다른 해결방법들을 찾아보았다. 원천적으로 직접 설정파일 설정을 하지 않으려면

스프링을 다운로드 받으면 되는 부분이라고 생각하였다.


 

2023 - 01 - 23 16:00 문제해결 시도 방법

 

1. STS를 다운로드하는 방법

 

3.9 버전 다운 후 해당 에러 발생으로 실패 하였다.

4 버전은 스프링 부트여서, 스프링을 공부하려는 나에게는 의미가 없었다.

 

2. Install new software 를 활용하여 직접 링크를 넣어 다운로드

 

http://download.springsource.com/release/TOOLS/update/e4.8/

 

위 이미지처럼 마찬가지로 spring IDE 관련 요소들만 설치가 불가능한 상황이 옴. 실패

 

우선은 해결방안을 더 찾아보고, 찾는 즉시 바로 글을 업데이트하도록 하겠다.

 


2023 - 01 - 24 01:00 

 

1. STS를 다운로드 하는 방법 : 실패 사유

아무래도 자바 JDK의 버전이 20으로 너무 최신 버전이라 일어났던 방법인 것 같다.

자바 버전을 11 정도로 낮추면 호환이 가능할 것 같다.

다만, homebrew를 통해 11버전을 다운로드 하고 기본 환경변수를 바꾸었으나,

마찬가지로 jdk-20 관련 에러 메시지가 계속 뜨기도 하고,

나는 본래 eclipse내에서 진행을 하려고 했던 터라 다른 방법을 계속 찾아보았다.

 

2. Eclipse version & JDK version

사실상 이클립스 마켓플레이스 내 STS를 다운로드 받지 않더라도, 스프링을 maven project 내에서

구현해낼 수 있기 때문에, 처음 setting.xml을 작성하였을 때 에러가 발생하는 부분은 이해하기 쉽지 않았다.

 

뭘 하던 에러, 그다음 해결방법도 에러.. 이게 발생되다보니 스트레스를 받았고, ' 아 그냥 스프링부트나 할까.. ' 라는 생각까지..

 

그래도 꾹 참고, STS를 공식 홈페이지에서 다운로드 받았을 때 JDK-20 버전으로 인해 안된다고 했던 에러메시지와

유튜브 댓글에서 보았던 Eclipse 버전 이야기를 토대로, 내 버전을 확인했다.

 

 

Eclipse 역시 2023년 8월 버전, Java JDK - 20 버전으로 꽤나 최신 버전인 것을 확인했고

 

터미널에서 brew install openjdk@11 을 통해 다운로드 받았다.

 

그리고 이제 PATH 설정을 해서, 맥북내에서 자동으로 자바 버전 환경변수를 설정하게끔 해야하는데,

경로를 찾는 법을 몰라 마구 헤맸었다.

 

이럴 때엔 brew --prefix openjdk@11 을 활용하면된다.

 

위처럼 homebrew를 통해 다운로드 받은 요소에 대한 경로를 찾을 수 있다.

 

순서를 알려드리자면,

 

1. nano ~/.zshrc 를 입력하여 환경변수를 설정하는 쉘 설정 파일을 오픈한다.

 

2. export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH" 를 입력한다.

 

3. control + X 를 누른 후, Y를 누르고 엔터를 눌러 저장한다.

 

이제 java -version을 통해 자바 버전을 확인한다.

 

 

여기까지 Java Version을 변경하는 방법이고, Eclipse 역시 다운그레이드하여 재설치 하였다.

 

맥 환경에서 Eclipse를 완전히 제거하는 방법

1. 응용 프로그램에서 Eclipse 아이콘을 찾아, 휴지통으로 보내기

 

2. 터미널에서 rm -rf ~/.eclipse 을 입력 ( .eclipse 파일 내에 다양한 이클립스의 설정파일이 담겨있음. )

만약 2가 권한 문제로 실행되지 않을 경우 앞에 sudo를 붙혀주세요.

 

3. 이후 공식 홈페이지에서 다운그레이드 버전을 다운로드.

M1 맥버전의 경우 Arch64 버전을 지원해야하는데, 가장 구 버전이 2021년 9월 버전이니 참고하셔서 다운로드해주세요.

 


 

이러한 과정을 거치고 다시한번 Eclipse를 실행하여 Marketplace에서 다운로드를 실행하였으나,

 

An error occurred while collecting items to be installed

session context was:(profile=epp.package.jee,

phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).

 

라는 에러가 발생하였다. 아무래도 P2 엔진과 관련된 문제같은데, 아무리 찾아봐도 동일한 레퍼런스를 도저히 찾을 수 없었다.

실망감을 감출 수 없었지만 침착하게 setting.xml 파일을 작성해서, 직접 작성하는 경우에도 마찬가지로 에러가 발생하는지 체크하였다.

 

이클립스 최신 버전과, JDK- 20버전일 때에는 beans, 3.0버전 부분에 에러가 발생했었다.

 

<Beans> 태그와, xsi:schemaLocation="...3.0.xsd" 부분에서 발생하던 에러가 사라졌다.

아무래도 eclipse의 최신 버전 혹은 JDK-20과 스프링 setting.xml 파일 간에 호환성 이슈가 있었던 것 같다.

 

우선은 일부 해결이 되었으므로, 마저 스프링 관련 초기 세팅을 진행해보도록 하고 또 다른 이슈가 있다면 업로드해보도록 하겠다.

 

반응형
LIST

'Error' 카테고리의 다른 글

Mybatis 설정중 Downloading external resources is disabled 에러  (0) 2024.04.10