본문 바로가기

디버깅

[IntelliJ] Eclipse 프로젝트를 마이그레이션 할 때

반응형


이클립스, STS에 학을 땟다. 분명히 동작할 코드가 안되고 한참 삽질하다가 IDE를 껏다키니 코드가 작동하고 ㅡ,ㅡ;;

Maven 빌드 속도도 느리고.. 이건 Gradle을 쓰면 뭐 얼추 개선되지만.. 여하튼간 Git도 쓰기가 너무 불편하고.. 더이상 이클립스에 지쳐버렸다. 설정 노하우던 뭐던.. 시간으로 보나 효율로 보나 너무 떨어져서 이제는 인텔리J 혹은 vscode로 넘어갈 생각을 하고 있다.

작년 연말쯤에 vscode에서도 Spring-boot을 공식 지원하기 시작했고.. Java도 Preview로 이미 지원을 하고 있다.

단지 Spring-boot과 gradle에 익숙하지 않아서 못넘어가고 있을뿐. 여하튼 vscode는 좋은 툴이다. 내 역량과 준비만 되면 무조건 넘어갈 생각


이클립스의 프로젝트를 인텔리J로 마이그레이션 하는 과정에서 겪은 삽질을 조금 정리해보려고 한다. 금방될줄 알았는데 1시간이나 걸렸다. 예전에는 쉽게 했었는데 버전이 올라가고 더 어려워진 느낌 ㅡ,ㅡ;;


무료 버전

http://www.bsidesoft.com/?p=6160
우선 무료 버전으로 IT교육을 진행하시는 분이 있는 걸 알고.. 연동 법을 찾던가 정리해둘까 했는데 어떤 곳에서 이미 정리해서 잘 올려놨다.
edu나 ac.kr 이메일이 없는 사람은 이 방법을 참조해도 될 듯하다. 이 회사에 이력서를 넣은 적이 있었는데. 서류 탈락을 굳이 전화로 줘서 절대 회사 이름이 잊혀지지 않는 회사.


유료 버전(Ultimate)

유료 버전이다. 앞에 적은 것처럼 edu, ac.kr 메일을 가지고 있다면 시리얼을 받을 수 있다. 일단은 1년을 받는건 확실하고.. 듣기론 1년씩 계속 갱신이 된다고는 하는데.. 모르겠음.. 아무튼 간..

이 또한 여러 분들이 블로그에 방법을 올려주셨었다. 일단 쉽게 될줄 알고. import를 하고 이래저래 해봐도 deploy 설정이 제대로 안되서 빌드만 제대로 되고 deploy는 안되는 요상한 상황이 벌어졌다 ㅡ,ㅡ; 대략적인 과정은


  • 설치할 때 필요한 플러그인만 골라서 설치
  • 분명히 tomcat을 설치 했는데도 설치가 안된건지 누락됨
  • 그럴때는 setting (Ctrl + Alt + S)를 누르고 Plugins 에서 필요한 플러그인을 체크해주면 재시작이 되고 설치가 완료
  • Gradle, Maven, Eclipse 프로젝트는 File - Module From Existing Sources를 누르고
  • bulid.gradle, pom.xml, .project 파일을 찾아주면 인텔리J가 모든 것을(!!) 알아서 마이그레이션 해줌
  • 인텔리J가 알아서 인식을 못하거나 파일을 통으로 그냥 가져온다면 3번째 항목에서 설치 상태 확인
  • 빌드와 실행은 오른쪽 상단 작업표시줄에 있고 Edit Configuration 에서 세팅
  • 서버(대부분 tomcat)의 세팅이 여기서 이루어짐
  • 내 경우 여기까지 어찌어찌 되었고.. Artifacts 에러와 Architecture 에러가 났다.
  • 첫번째 Artifacts는 Deploy 관련 에러인데. tomcat을 세팅헀던 config에서 Artifacts을 생성해서 만들어 줘야함
  • http://altkeycode.tistory.com/17 이곳의 1) Maven 으로 Artifactes 설정 항목을 참조 (사실 기억이 잘안나는데 대략 비슷한거같음)
  • 두번째 Architecture는 말그대로 아키텍쳐 에러인데. 보통은 SDK가 32bit 버전이라서 나는 듯함.
  • 내 경우 tomcat이 32bit여서 빌생했는데.
  • apache tomcat 사이트에서 다운로드 페이지에서 맨위의 core버전을 받지말고.. 하단의 core 64bit버전을 받아서 교체해주니 해결

Architecture의 에러문구.. 라이젠이라 나는 에러같지만 tomcat이나 sdk버전이 32bit여서 나는 에러일 것이다.

Can't load IA 32-bit .dll on a AMD 64-bit platform


Artifacts는 실행 옵션을 말하는 걸로 안다. War를 빌드하고 그 빌드를 어떻게 실행할지에 관한 거였는데.

이걸 제대로 지정안하니 War빌드는 제대로 되고 로컬환경에서 deploy가 제대로 안되서 실행이 안되더라.


이때는 세팅밑에 Project Structure에서 Artifacts를 손봐줘야 한다. 아마 아무것도 없을텐데.. Web Application exploded 를 추가시키고

WEB-INF의 web.xml을 선택해주면 인식이 되기 시작한다. Available Elements에 나타는 친구들을 좌측 최하위쪽으로 옮겨주면 아마 잘 될 것이다. 서버 설정에서 tomcat에 Deployment에 방금 만든 Artifacts가 잘 있는지 확인하면 된다.


그외에 이클립스는 프로젝트 명이 URI로 붙는데 인텔리J는 기본상태가 '/' 에서 시작한다.

이거는 서버설정에서 Deployment에 Application Context가 '/' 로 되어있는데 이걸 '/프로젝트 명'으로 수정해주면 된다. 딱히 URI가 프로젝트 명이 아니어도 된다면 고칠 필요는 없다.


말로 적어서 약간 장황한데 참고 출처에 더 친절하게 정리되있으니 참고바람! 이제 더이상은 이클립스에 고통받지 않기를..

+

내용 정리가 되면 Maven도 걷어내고 Gradle로.. Spring Framework 3 역시 Spring boot 로 Mybatis도 JPA , Hibernate로 넘어갈 예정

여러 교육기관, SI에서 지긋지긋한 Spring 3, Maven좀 그만 쓰길 바라며


참고 출처

http://meaownworld.tistory.com/13

http://kamang-it.tistory.com/243

https://stackoverflow.com/questions/43244946/com-intellij-javaee-oss-admin-jmx-jmxadminexception-com-intellij-execution-exec

http://uwangg.tistory.com/46

http://multifrontgarden.tistory.com/108

반응형