카테고리 없음

[M1 에러] spring3 _ spring mvc project err

lsme 2024. 2. 8. 02:19

 

 

 

  •  상황
    • sts와 jdk 설치 후 spring3를 하려는데, Spring Legacy Project -> spring mvc project가 생성이 안된다!!! ㅜ.ㅜ 

 

 

 

 

# 에러 메세지

An error has occurred. See error log for more details.

java.lang.ExceptionInInitializerError

 

An error has occurred. See error log for more details.
Could not initialize class com.thoughtworks.xstream.converters.collections.PropertiesConverter

 

 


여러가지 시도를 해보았다.  ( 가장 마지막 부터 보기 바란다. )

 

- eclipse와 jdk 호환 문제 

- 환경변수 문제 

- -vm 추가 등등 

- m1 호환성문제!

 

 

 


 

 

1. 환경변수

터미널에서 이렇게 명령어를 쳤을때, 나오면 환경변수 패스가 잡혀 있는 것이다. 

환경변수 변경은 아래 사이트를 참고함.

https://llighter.github.io/install-java-on-mac/

 

맥에서 Brew로 자바 설치하기(feat. 자바버전 바꾸기)

 

llighter.github.io

 

 


 

 

2. jdk 버전 _ 11이면 된다. 

결론적으로는, 버전에 대해서 뭐가 나오든 상관없는 것 같다. 

왜냐하면 spring sts 프로그램(이클립스)에서 따로 설정해주면 되는 것이기에

터미널에서 뭐가 보이든 상관이 없다!

 

 

 

아래와 같이 모든 자바 버전을 검색해서 11버전이 나오면 된다. 

/usr/libexec/java_home -V

 


 

 

3. -vm 추가 

 

- 1). Eclipse에 추가 

   자신이 설치된 eclipse 프로그램(우클릭 후 -> 패키지 내용보기)에서 가서 eclipse.ini 파일을 연다. 

/Users/{사용자이름}/eclipse/jee-2023-12/Eclipse.app/Contents/Eclipse/eclipse.ini

위에는 이클립스 경로(사람마다 설치 위치가 다르다. 보통 응용 프로그램에 설치 되는데, 나는 이때 이상한 곳에 했나보다)

 

 

vmargs위에 추가해준다. 

(자신의 jdk-11버전 경로에!)

그리고 18번째 줄에 version이 나는 17로 되어있었다. 11로 변경해주자.

-vm
/Library/Java/JavaVirtualMachines/jdk-11.0.20.jdk/Contents/Home/bin/java

 

 

이클립스 쪽의 info.plist는 수정하지 않았다.


 

취소!!

이러면! 기존 eclipse 파일이 안열림..!

그래서 기존 17버전으로 변경해도 sts 열리고

eclipse도 에러 안남. 

 

 

 

- 2). sts에 추가

 

sts 우클릭해서 패키지 내용보기를 한다. 

 

 

비주얼 스튜디오에서 열어서 

상단에 1,2줄에 

-vm
/Library/Java/JavaVirtualMachines/jdk-11.0.20.jdk/Contents/Home/bin/java

이것을 추가하고 

 

12줄에 version을 11로 변경

 

그리고 info.plist를 열어서

원래는 주석이었던 아래 코드를 넣어준다.  (라이브러리는 본인이 최근 설치한 경로, 나는 예전꺼 삭제했는데 여기주석에 예전꺼가 있었다)

<string>-vm</string><string>/Library/Java/JavaVirtualMachines/jdk-11.0.20.jdk/Contents/Home/bin/java</string>

 

 


 

 

4. sts, jdk 재설치 후 재설정. 

 

 

 

 

 

3시간쯤 에러 메세지만 검색하다가... 문뜩 다른 방식으로 검색 해봤다. 

M1에서 sts 설치 방법을 해볼까?  ->  [ STS3 Downloads mac m1 ]

 

그렇게 나온것이 아래 블로그!

https://velog.io/@piaocanyi/M1-MAC%EC%97%90%EC%84%9C-STS3-%ED%99%98%EA%B2%BD%EC%84%A4%EC%A0%95-%EC%8B%A4%ED%96%89

 

velog

 

velog.io

 

이 블로그에 따르면

sts3는 macosx- arm이 없고, x86뿐이다! ?!?!?!!? 충격적 소식!

와........... 그래서 맥북이라도 jdk를 x86으로 다운 받아야했던것이다!!

어쩐지!!

 


 

- 1. sts 설치 

https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3

이버전 가운데 macosx를 다운받고! (진짜 x86이네...;;;)

프로그램 설치하면 됨. 

 

 

 

 

 

 

 

- 2. jdk 설치 (x86으로)

 

https://www.oracle.com/kr/java/technologies/javase/jdk11-archive-downloads.html 

Java SE Development Kit 11.0.20 버전

 

macOS 중에서 M1칩임에도 불구하고 ARM이 아닌, x64로 다운한다. 

그리고 dmg가 아니라 .tar로 다운받는다. 

 

압축을 풀고

/Library/Java/JavaVirtualMachines   이 경로! 폴더를 이동한다. 

( 라이브러리가 user 안에 있는 게 아니라 HD에 있는 라이브러리다!)

 

 

그러고 위에꺼 다시 맞춰주니 잘됨!


 

Spring Tool Suite 3에서 해줘야 할것은

 

 

 

1. jdk 연동

Add.. 해서 방금 설치한 jdk 연결해줌.

 

 

 

2. compiler 버전 11로 변경

 

 

 

3. 프로젝트 생성

- Spring Legacy Project 선택

 

 

- Configure templates.. 선택

 

- defaults 만 남겨두기

 

 

- spring mvc Project 선택하고 Next ->

 

 

 

- 이게 나오면 되는거야!!!!!!!! ㅜ.ㅜ

여기서 finish 하고 가만히 있어야한다. 로딩 최대 1분정도 걸리는 것 같다. 

 

 

 

 

행복 그자체...

블로그들 보다가 2~3일 걸린 사람들도 많았어서 포기할까 하다가

프로그램 재설치 하자는 마음을 먹자! 

좋은 블로그를 발견했다. 

포기하는 것도 좋은 방법이다.