'Eclipse'에 해당되는 글 29건

  1. 2011.11.25 이클립스 실행시 Java was started but returned exit code=1 에러가 날때. 19
  2. 2011.11.17 이클립스(eclipse) 실행시 Java was started but returned exit code=13 에러가 날때 4
  3. 2011.10.14 이클립스 상에서 maven 을 이용해 원격서버로 배포하기 3
  4. 2011.10.11 A java Runtime Environment(JRE) or Java Development Kit(JDK) must be ~~~~ 하면서 이클립스가 실행안될때. 22
  5. 2011.09.21 STS(SpringSource Tool Suite) 활용하기 : RequestMapping 정보 보기 2

이클립스 실행시 Java was started but returned exit code=1 에러가 날때.

나의 알토란 같은 컨퓨터가 쪼금 버벅거리는것 같아서 새로 싹 호맷을 하기로 결정했다.

깨끗하게 호맷한 뒤 상쾌한 기분으로 윈도우7 64 비트 버전을 뽓 다 설치하고 개발환경을 구축하기 위해서 자바, 이클립 요딴걸 받아서 설치했다.



호맷을 한 뒤 문득 최신버전의 개발환경을 소유하고 싶어염! 하는 욕정이 불끈 솟아났다.

그래서 java7 64bit 버전을 폿 다운로드 받아서 설치한뒤 이클립도 요즘 최신버전인 indio 64bit 버전을 폿 받아서 압축을 뿍 풀어주고

앙증맞은 이클립 아이콘을 떠블클릭해 실행하려고 했다.

그런데 첨보는 에러인 Java was started but returned exit code=1  에러가 났어염 하면서 이클립이 실행이 안됬다. exit code=13 은 얼마전에 다른 컨퓨터에서 났던 오류라 금방 고칠수 있었는데 exit code 가 1 이라니 -_-;



뭐 이세상에 안되는게 어딧나 고치면 되는것이다. 이것저것 이너넷 검색을 해보니 -Xms -Xms 요런 옵션에 들어가는 메모리 사이즈를 고쳐보세염 하는 조언들이 대부분이였는데



나 같은 경우는  죠걸 고쳐도 잘 안되는걸 봐서는 뭔가 다른 문제인것 같았다.

이것저것 해보다가 결국 해결했는데 내가 해결한 방법은 이클립 시작할때 사용하는 jvm 을 살짝 다른 jvm 으로 바꿔서 하니까 실행이 문득 잘 되었다 -_-

보통 이클립 시작할때 쓰는 jvm 을  %자바설치경로%\bin\javaw.exe 로 많이들 지정하는데 나의 경우는 고걸로 지정해도 안됬다.

jvm 을 %자바설치경로%\jre\bin\server\jvm.dll 로 설정하니까 해결되었다. 무엇인 문제인지는 아직도 정확하게 파악은 안되지만 아무튼 해결했으니~ 장땡이다~



어떤 jvm 을 사용할 것인가에 대한 설정은 이클립스 설치 디렉토리/eclipse.ini 파일을 살짝 수정해 주면 된다.

죠기 -vm 옵션에 자신이 설치한 java 경로로만 바꿔주면 된다. 


eclipse.ini
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vm
C:\Program Files\Java\jdk1.7.0_01\jre\bin\server\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m


※ 나의 개발환경은 대충 요렇다.
OS : Windows7 64bit
JDK : JDK 1.7 64bit
Eclipse : Indigo 64bit



이클립스(eclipse) 실행시 Java was started but returned exit code=13 에러가 날때

램을 4기가로 업그레이드 하면서 4기가 램을 모두 활용하기 위함과 동시에 깔쌈하고 쾌적한 윈도우로 다시 돌아가기 위해 64bit 윈도우7을 설치했다.

다 설치한다음에 쓸 후로그램들을 이것저것 다 설치하고

흥미진진한 개발의 세계로 발을 다시 살포시 디밀기 위해 JDK 도 64bit 버전으로 뿟 설치했다.




이클립스도 새로 받아서 하면 좋겠지만 훌러그인들을 다시 설치하는게 시간도 많이 걸리고 귀찮기도 해서 전에 쓰던 이클립을 그대로 쓰기로 했다.
(※ 이클립은 포맷하기 전에 압축해서 백업해 뒀다가 다시 압축만 풀어주면 전에 쓰던 이클립을 고대로 쓸 수 있다.)

이클립을 실행하려고 따블클릭을 했는데 실행이 안된다. Java was started but returned exit code=13 에러와 함께.


 왜 그런가 했더만, 이유는 JDK는 64bit 버전을 설치했는데 이클립은 32bit용 버전이였기 때문이다.

64bit용 이클립을 새로 받아서 압축풀고 실행을 했더니 실행이 잘된다. 다시 훌러그인들을 설치해야 하지만 -_-;



아무튼 Java was started but returned exit code=13  에러가 뜰때는 JDK 에 맞는 이클립 32bit용 혹은 64bit용을 새로 받아야 한다~~~ 


이클립스 상에서 maven 을 이용해 원격서버로 배포하기


오늘 문득 톰캣을 새로 받을 일이 있어서 톰캣 사이트에 갔다가, 예전부터 있었겠지만 그동안 무심하게 쌩깠던 링크가 문득 눈에 들어왔다.

그것은 바로 톰캣 다운로드 받는 링크 아래 Tomcat Deployer 라는 것이였다.



요즘 개발 막바지라 이것저것 자질구래한걸 수정해달라는 요청사항이 많아서, 수정한다음에 구찮스럽게 자꾸 다시 배포를 해줘야 하는 일이 드럭게 많아졌다.

용써서 잘 맹글어 주는 것에 시간에 투자를 해야 하는데, 쓸데없는 일에 시간을 투자를 해야만 하는것이다.

구찮은걸 극도로 싫어하는 나로써는 그동안 눈에 들어오지도 않던 이 문득 보이는 Deployer 라는게 왠지 땡기기 시작했다. 나의 구세주 같은 느낌.

대충 설명서를 읽어보니 나의 로컬에서 원격서버로 배포를 시켜주는 툴인듯 했다.

그런데 받아서 압축을 풀어보니 요즘 잘 쓰지도 않는 ant 를 이용해서 뭔가를 해주는것 같았다. 

그런데 또 나는 잘 쓰지도 않을 뭔가를 또 받아서 압축을 풀고 설치하는게 또 무척이나 구찮게 느껴졌다.


왠지 ant 보다도 훨씬 좋다고 느껴지는 maven에서도 누군가 머리좋은 사람이 반드시 맹글어 놨을거란 신념을 가지고 구글에게 "tomcat deployer maven" 을 찾아주세요! 라고 요청했다.

뭐 역시 뭔가가 있었다.! 고것은 바로 tomcat-maven-plugin !!




maven 을 쓰기 시작하면서 tomcat-maven-plugin 플러그인 어쩌고 하는걸 검색하다가 많이 보았는데 나는 그냥 jetty plugin 처럼 tomcat 으로 서버를 띄어주는 것인줄로만 알고 그냥 쌩깠었다 -_- 

그런데!!! tomcat:deploy 요런 goal 이 있지 아니한가!!! 그렇다. 이제 이클립스에서 버튼한번만 클릭하면 현재 나의 이클립 상에 개발중인것을 고대로 원격서버에 배포를 시킬수가 있게 된 것이다.

구찮스럽게 느껴지기만 하면 배포작업도 "배포쫌 해주세염~" 그라면 "네! 기분좋게 후딱 해드릴깨요!!" 라고 사람좋은 표정을 지을수 있게 됬다.




잡설이 길어졌다. 내가 바라던 짖을 할려면 우째해야 하는가?

먼저 톰캣 매니저 사용자를 설정해 줘야 한다.

톰캣을 설치하면 기본적으로 같이 설치되는 웹어플중에 manager 라는게 있다. 톰캣 설치디렉토리/webapps 에 가보면 manager 라고 폴더가 하나 있을것이다. 이게 바로 그거다.

로컬에다 설치한 사람은 http://localhost:8080/manager/html 로 접속해 보라! 뭔 아이디랑 패스워드를 입력하라는 창이 뜰 것이다.


여기에 로그인 할 수 있는 사용자를 설정하는 곳은 톰캣설치디렉토리/conf/tomcat-users.xml 파일이다.

여기에다 살포시 요런 설정을 추가해 주면 된다. username 과 password 는 적당히 알아서 쫌 복잡하게~~
<role rolename="manager"/>
<user username="admin" password="test" roles="manager"/>



그런다음 다시 톰캣을 리스타트 하면 아까 설정한 아이디와 비밀번호로 로그인할수 있다.

뭐 사실 요 manager 를 이용하면 웹상에서도 서버를 중지하고 war 파일을 업로드 해서 배포를 할 수 있긴 하다. 하지만 역시 내가 바라는건 이클립 상에서 버튼 클릭한번~

이제 maven pom.xml 파일에 플러그인을 설정할 차례이다.

내가 테스트를 위해 샘플로 작성한 pom.xml 파일은 요렇다.
<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.tistory.stove99</groupId>
	<artifactId>DeployTest</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<version>2.1.1</version>
				<configuration>
					<warSourceDirectory>src/main/webapp</warSourceDirectory>
					<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
				</configuration>
			</plugin>
			
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>tomcat-maven-plugin</artifactId>
				<version>1.1</version>
				<configuration>
					<url>http://127.0.0.1:8080/manager</url>
					<path>/</path>
					<username>admin</username>
					<password>test</password>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>



대충보면 뭔 뜻인지는 알것이다. 한가지 설명할 만한것은 tomcat-maven-plugin 플러그인 설정옵션 중에 <url>http://~~~</url> 요거랑 <path>/</path>

url 에는 톰캣 매니저의 URL 을 설정하면 된다. 웹으로 접속할때는 http://localhost:8080/manager/html 이였지만 여기서는 그냥 http://localhost:8080/manager 요기까지만 설정한다.


그리고, tomcat:deploy 로 배포를 하게 되면 path 에 설정한 context 로 배포가 된다.

즉, / 요걸 설정하면 http://localhost:8080/      /test 요걸 설정하면 http://localhost:8080/test 요렇게 웹어플이 배포된다.




자~ 이제 pom.xml 까지 설정을 마쳤으니 이클립스에서 실행을 해보자.

프로젝트명에서 오른쪽 버튼 > Run As > Maven build...  요걸 클릭하면 팝업창이 뜨는데 goals 입력란에
tomcat:undeploy tomcat:deploy
요렇게 입력하고 실행을 하면 짠~~ 바라던 바대로 서버에 배포가 완료된다. 




tomcat:undeploy 를 추가한 이유는 tomcat:deploy 로 배포를 할려는데 이미 같은 컨텍스트가 존재하면 에러가 나기 때문에 기존에 존재하던 컨텍스트를 지우고 다시 배포를 하기 위해서이다.



※ tomcat:undeploy 를 하면 기존에 있던 폴더가 싹 지워지기 때문에 첨부파일 같은거를 해당 폴더로 업로드 되게 처리해 놨다면 첨부파일 까지 다 지워져 버린다!!!!! 이 점에 대해서 깊은 주의가 요망된다.

※ 그외 기타 쓸 수 있는 goal 들
      tomcat:run   임베디드 tomcat 서버 띄우기 => localhost:8080 으로 접속할수 있게 된다.,  jetty:run 과 비슷한 기능임
      tomcat:start  원격 서버시작시키기
      tomcat:stop  원격 서버중지 
      tomcat:redeploy  재배포, 이것 테스트를 심도 있게 안해봤는데 잘만 작동 된다면 undeploy 했다가 다시 deploy 안해도 될것 같긴하다.

외 기타등등 몇가지 더 있음~ tomcat:help 를 해 보면 설명들이 대충 나옴. 영어로.

A java Runtime Environment(JRE) or Java Development Kit(JDK) must be ~~~~ 하면서 이클립스가 실행안될때.

A java Runtime Environment(JRE) or Java Development Kit(JDK) must be available in order to run Eclipe. 요런 팝업창이 뜨면서 이클립스가 실행이 안될때가 있다.




요럴때 해결하는 방법으로 두가지 정도가 있는데

먼저 첫번째 방법은

이클립스가 설치된 폴더에 가보면 eclipse.ini 파일이 있다. 요 파일을 살포시 에디터로 열어서 제일 상단에
-vm 
JDK 설치경로\bin\javaw.exe
요걸 추가시켜 주면된다.



예를들어 JDK 가  C:\Program Files\Java\jdk1.6.0_27 요기에 설치되 있다면
-vm 
C:\Program Files\Java\jdk1.6.0_27\bin\javaw.exe
요렇게~~



요방법 말고 다른 방법은 eclipse.exe 바로 가기를 하나 맨들어서(이미 바로가기로 실행하고 있다면 안만들어도 됨)

바로가기 아이콘 위에서 오른쪽 버튼 클릭을 뽓 한다음 속성으로 가서 바로가기탭에 있는 대상란 뒤쪽에

 -vm "C:\Program Files\Java\jdk1.6.0_27\bin\javaw.exe" 요걸 추가시켜 준다음 이 바로가기를 이용해 실행해도 된다.

폴더명에 공백이 있으면 " <- 이걸로 한번 감싸줘야 한다.


STS(SpringSource Tool Suite) 활용하기 : RequestMapping 정보 보기

STS 를 설치해서 활용할수 있는 기능중 하나로 spring 설정 파일을 참고해서 현재 프로젝트에 정의된 RequestMapping 정보들을 확인할 수 있다.

먼저 그렇게 하기 위해서는 해당 프로젝트를 스프링 프로젝트로 바꿔줄 필요가 있다.

이미 스프링 프로젝트로 맨들어진 프로젝트는 그냥 냅두면 된다.


기존 프로젝트를 스프링 프로젝트로 바꾸기 위해서는 프로젝트명 > 마우스 오른쪽 버튼 >  Spring Tools > Add Spring Project Nature

를 뽓 클릭하면 된다. 그러면 프로젝트명 옆에 s 라고 아이콘으로 뽓 표시된다.





이제 RequestMapping  정보를 확인해 보자.

고걸 하기 위해서는 Window >  Show View > Other 로 가서 목록중에 있는 Spring Explorer View 를 추가해 주자.



 


Spring Explorer 에는 현재 workspace 에 있는 프로젝트들중 Spring 프로젝트들이 표시되고 Spring 설정내용들을 요약적으로 볼수 있다.





여기에 있는 것들중 <mvc:annotation-driven/> 이 선언된 스프링 설정 xml 파일에서

오른쪽 버튼 클릭 > Spring Tools > Show RequestMappings 를 클릭하면 현재 프로젝트에 선언된 모든 RequestMapping 들의 목록이 보여진다.


prev 1 2 3 4 5 6 next