Mac2016. 3. 24. 13:13


dock 공백추가.app.zip


Posted by 시긔양

댓글을 달아 주세요

Programming2015. 11. 5. 18:02

1.이클립스에서 톰캣 실행시 오류 나는경우

Server탭의 오류나는 서버 더블클릭 > 

General Information 탭 > Open launch configuration 클릭 > 

Arguments 탭 > VM arguments 필드 마지막에 아래 내용 추가.

 -XX:PermSize=256m -XX:MaxPermSize=256m



2. 톰캣만 실행했을시 오류 나는 경우 (Tomcat 8의 경우..)


{TOMCAT_HOME}/bin/catalina.sh  파일을 편집기로 열어서 제일 상단에 아래 내용 추가.

 JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"


But.. 나는 아무리 해봐도 사이즈가 늘어나질 않는다.. Tomcat 8버전이라서 그런지.. 다른 옵션이 있는건지.. catalina.sh는 참조 하지도 않는듯한 것은 기분탓?


그래서 찾아낸 방법

{TOMCAT_HOME}/bin/catalina.bat 파일을 편집기로 열어서 JAVA_OPTS를 설정하는 부분을 찾는다. 아래 표 부분. 키워드는 JAVA_OPTS 이다

if not "%LOGGING_CONFIG%" == "" goto noJuliConfig

set LOGGING_CONFIG=-Dnop

if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig

set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"

:noJuliConfig

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% "

if not "%LOGGING_MANAGER%" == "" goto noJuliManager

set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

:noJuliManager

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%"



뭔가 설정이 다를경우 JAVA_OPTS를 다르게 설정 해주는것 같은데.. 그냥 저기서 자바 실행 환경 부분을 아래와 같이 추가 해준다. (따옴표 주의!!)

if not "%LOGGING_CONFIG%" == "" goto noJuliConfig

set LOGGING_CONFIG=-Dnop

if not exist "%CATALINA_BASE%\conf\logging.properties" goto noJuliConfig

set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"

:noJuliConfig

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% 

-Djava.awt.headless=true -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"

if not "%LOGGING_MANAGER%" == "" goto noJuliManager

set LOGGING_MANAGER=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

:noJuliManager

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER% 

-Djava.awt.headless=true -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"



정상적으로 반영 됐는지 확인은 VisualVM 으로...


참고 : http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/

Posted by 시긔양

댓글을 달아 주세요

Programming/XML/XSD2015. 11. 1. 01:56

예~~전 프로젝트에서도 xml파일을 사용해서 java class파일을 생성해야 하는 일이 있었는데. 

다시 하려니 다 까먹어서 정리를 할게요


여러가지 방법이 있겟지만, 저의 경우는 xml파일 생성 -> xsd파일 생성후 편집 -> Java Class 형태로 해요.

물론 반대의 경우도 가능 하겠죠.


JAXB를 사용하면 XSD를 JAVA Class파일형태로 쉽게 변경 할수 있어요


먼저 사용할 .xml파일과 .xsd 파일을 준비 하세요. 없으면 밑에 파일 다운받으세요.


bookstoreSample.xml


bookstoreSample.xsd


이클립스 JAXB 플러그인을 사용하여 생성 할거에요 

저는 이클립스를 STS를 사용하여 이미 JAXB 플러그인이 설치되어 있어요 

이클립스 for Java EE를 설치하면 기본적으로 JAXB 플러그인이 설치 되어 있다고 하네요

능력껏 준비 해요~



1. 이클립스 File -> New -> Project -> JAXB Project 선택




2. 적절한 project name을 입력한다음 Target runtime을 선택해주세요. 외국인 영상에서는 JRE가 아닌 JDK로 설정해야 한다고 되어있는데.. 저는 선택이 안되서 JRE로 선택 해봐요..  버전은 최근버전이 좋겠죠.




3. 생성된 별거 없는 프로젝트 폴더 구조에요




4. 다운받은 .xml과 .xsd를 끌어당겨 생성된 프로젝트에 넣어주세요




5. 프로젝트 폴더 오른쪽버튼 -> New -> Other 클릭




6. JAXB Class form Schema 선택후 Next



7. 방금 생성한 프로젝트 선택후 Next


8. XSD파일을 선택하라고 나와요. 4번에서 넣은 .xsd 파일이 보일거에요 선택하고 next



9. Package를 입력하라고 나와요. 프로젝트에 맞게 package를 입력하세요. 우선 샘플용이니 저는 com.jaxbtest 라고 입력하고 Finish



10. 생성된 클래스 파일이에요 




외국인 친구 영상을 보면 클래스별로 분리해서 생성 해주던데.. 

저는 이상하게 클래스 1개에 이너 클래스로 생성이 되네요..

JAXB 버전이 달라서 그런지, JDK로 선택 안해줘서 그런지..

옵션을 이리저리 바꿔봐도 클래스가 1개 밖에 생성이 안되네요 


어쨋든 맘에 드는 모양은 아니지만, 하나하나 타이핑 해서 만들어줄뻔 했던 클래스를 뽑아줘서 다행이에요.

자동으로 만들어 주는것까지만 해도 감사하죠.


이놈에 자바 특성상 저랑 다르게 설정이 되거나 다르게 나와도 어쩔수 없어요. 






Posted by 시긔양

댓글을 달아 주세요