서버 재시작 없이 java 파일 수정 적용하기

Eclipse에서 Spring 개발을 하고 프로젝트 규모가 커지게 되면,
java 파일 한줄 수정 하고 짧게는 10초 길게는 40초, 1분이상 기다려야 하는 슬픈 시간 낭비를 하게 된다.

java 코드를 수정하면 tomcat에 바로 올려주는 spring-loaded 를 알기 전까지는 그랬다.

Springloaded를 활용한 빠른 톰캣 재시작

springloaded는 개발 환경에서 .java 파일을 수정했을 때,
변경되는 클래스 파일만 재로딩 하는 도구이다.
local PC 에서 코드 수정과 Tomcat 재시작 하는 시간을 줄여, 개발 생산성에 큰 도움이 된다.

다만 다음과 같은 경우에는 tomcat 재시작이 불가피 하다.

  • 상속 구조의 변경
  • Reflection 정보가 Cache 된 것.
  • XML 설정 파일 수정.
  1. 다음 링크에서 springloaded.jar 파일을 적절한 경로에 다운 받는다.
    • maven repository
      • 나의 경우에는 workspace에 바로 넣어 줬다. ( C:\Users\jeaha\dev\workspace )
  2. Servers -> 해당 tomcat 서버 선택
    • Overview
      • Open launch configuration
        • Arguments VM arguments 탭에 다음과 같이 인자로 경로와 jar를 잡아준다.
          • -javaagent:{{경로}}\springloaded-{{버젼}}.jar -noverify
      • Server Options의 옵션들 체크 해제
      • Publishing의 Automatically publish when resources change 선택
    • Modules 탭 > Edit > Auto reloading enabled 체크박스 해제

 

2번에서 아래 사진을 참고 후 3, 4를 진행한다.
인자를 위와 같이 준다
Auto reloading enabled 체크박스 해제

728x90
반응형

이클립스 이스케이프 문자열 복사

이클립스에서 문자열 복붙 할 때 \n \t 등 이스케이프 문자열을 복붙하면 \n \t 따위로 복붙 되는 귀찮은 일이 발생한다.
이럴때는 Window -> Preferences -> Java -> Editor -> Typing 에서
Escape text when pasting into a string literal 설정을 해제 해 주면 된다.

 

728x90
반응형

'IDE' 카테고리의 다른 글

[Eclipse] 최적화 설정하기  (0) 2020.01.26
[Eclipse] eclipse.ini 파일 설정  (0) 2020.01.26
[Eclipse] 인코딩 설정  (0) 2020.01.26
[Eclipse] Code Style Formatter, Text Editor 설정하기  (0) 2020.01.26
[Eclipse] 테마 변경 (Windows)  (0) 2020.01.26

eclipse.ini 주요 설정 값

Eclipse 실행시 eclipse.ini 파일에 설정된 옵션으로 실행됨.
이 설정 파일은 windows 에서는 eclipse.exe 파일이 있는 설치 폴더에, MacOS 에서는 Eclipse.app > Contents > MacOS 폴더 안에 있다.
주요 설정 값들을 알아보자.

  • vm
    • jdk의 경로를 직접 지정. 보통은 신경 쓸 필요는 없으나 jdk를 여러개 설치하고 작업한다면 직접 위치를 지정하여 사용할 수 있음.
    • vmargs 라인 이전에 설정.
  • -Dosgi.requiredJavaVersion=1.8
    • 사용할 자바 버전.
  • -Xverify:none
    • 초기 실행시 클래스의 유효성 검사의 여부.
  • -XX:UseParallelOldGC
    • 병렬 GC 사용
  • -XX:+AggressiveOpts
    • 컴파일러의 소수점 최적화 기능 작동 설정.
  • -XX:-UseConcMarkSweepGC
    • 병행 Mark-Sweep GC를 수행하여 이클립스 GUI의 응답 최적화 설정.
  • -XX:PermSize=1024m
    • JVM 클래스와 메서드를 위한 공간.
    • OutOfMemoryError:PermGenspace 발생시 이 설정값을 늘려야 한다.
  • -XX:MaxPermSize=1024m
    • 최대값은 8번의 최소값 이상이여야 함.
  • -XX:NewSize=256m
    • 새로 생성된 객체들을 위한 공간
  • -XX:MaxNewSize=256m
    • 상기 동일
  • Xms2048m
    • 최소 Heap 메모리 크기.
  • Xmx4096m
    • 이클립스가 사용하는 최대 Heap 메모리 크기, 보통 내장된 메모리의 4분의 1을 최대 Heap 메모리로 설정하여 사용.

항상 설정 파일을 수정할 땐 원본 백업을 해 두도록 하자.

eclipse.ini

-startup
plugins/org.eclipse.equinox.launcher_1.5.600.v20191014-2022.jar
--launcher.library
C:\..\.p2\pool\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.1100.v20190907-0426
-product
org.eclipse.epp.package.jee.product
-showsplash
C:\..\.p2\pool\plugins\org.eclipse.epp.package.common_4.14.0.20191212-1200
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vm
C:/Program Files/Java/jdk1.8.0_241/bin
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
--add-modules=ALL-SYSTEM
-Dosgi.dataAreaRequiresExplicitInit=true
-Xverify:none
-XX:UseParallelOldGC
-XX:+AggressiveOpts
-XX:-UseConcMarkSweepGC 
-XX:MaxPermSize=1024m
-XX:MaxNewSize=1024m
-Xms2048m
-Xmx4096m
--add-modules=ALL-SYSTEM
-Declipse.p2.max.threads=10
-Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest
-Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/

WAS 메모리 설정

실행할 서버 > Open Launch Configuration > Arguments > VM arguments 설정

-XX:MaxPermSize=256M
-Xms1024m
-Xmx1024m
728x90
반응형

이클립스 인코딩을 UTF-8로 설정해 줘야 하는데, 설정해야 할 곳이 은근 많다.

  1. Windows > Preferences > General > Content Types > Java Class File > Default Encoding
  2. Windows > Preferences > General > Editors > Spelling > Encoding
  3. Windows > Preferences > General > Workspace > Text File Encoding
  4. Windows > Preferences > Web > (CSS, HTML, JSP) > Encoding
  5. Windows > Preferences > XML > XML Files > Encoding
728x90
반응형

Code Style Formatter와 Eclipse Text Editor 설정하기

이클립스 최초 설정이 편할 수도 있지만,
TAB 공백보다는 띄어쓰기 2칸을 쓰고,
띄어쓰기나 공백이 몇 개인지 볼수 있는게 Editor 설정 하는것이 더 편하다고 느껴짐.
워드나 문서작업 할때는 지저분해 보여서 싫었는데, 코딩할 땐 공백 문자가 보이는 것이 훨씬 보기 편하고 정리가 잘 되는거 같음.
그래서 Eclipse나 VS Code를 설치하면 제일 먼저 하는 설정중에 하나임.

CodeStyle 적용하기

Google/StyleGuide에서 첨부 파일을 받은 뒤 코드스타일을 적용 하겠음.

  1. 이클립스 상단의 Windows > Preferences로 들어감.
  2. 왼쪽 상단 검색창에서 Formatter 검색 Java > Code Style > Formatter로 들어감.
  3. Import > eclipse-java-google-style.xml 선택.
  4. Edit 창 열어서 다음과 같이 값 변경 후, 적용.
  5. JavaScript > Code Style > Formatter
  6. Import > eclipse-java-google-style.xml 선택.
  7. Edit 창 열어서 다음과 같이 설정 적용.

TEXT EDITOR 설정하기

  1. 이클립스 상단의 Windows > Preferences로 들어감.
  2. General > Editors > Text Editors 창 열기.
  3. Display tab width 2로 설정.
    • tab의 공백 사이즈가 2칸이라는 의미임.
  4. Show Print Margin 체크. Print Margin Column 값 80으로 설정.
    • 텍스트 에디터에 80자 가이드 라인을 보이게 하는 것임.
  5. Show Whitespace Characters 체크.
    • 공백 문자 표시
  6. Configure Visibility 설정 창에서 Carriage Return, Line Feed 체크 해제.
  7. Preference 창에서 indent 검색.
    • Web > CSS Files > Editor
      • Indent Using Spaces 체크
      • Indentation Size 2로 설정.
    • Web > HTML Files > Editor
      • Indent Using Spaces 체크
      • Indentation Size 2로 설정.
    • XML > XML Files > Editor
      • Indent Using Spaces 체크
      • Indentation Size 2로 설정.

확인

다 적용 후, Test.java 파일에서 ctrl + a, ctrl + shift + f -> 설정 한 대로 포메팅이 된 것을 확인할 수 있음.

728x90
반응형

'IDE' 카테고리의 다른 글

[Eclipse] 최적화 설정하기  (0) 2020.01.26
[Eclipse] eclipse.ini 파일 설정  (0) 2020.01.26
[Eclipse] 인코딩 설정  (0) 2020.01.26
[Eclipse] 테마 변경 (Windows)  (0) 2020.01.26
[Eclipse] 설치하기 (Windows)  (0) 2020.01.26

+ Recent posts