ANT라는 훌륭한 배포툴이 있었을 줄이야-_-;
그냥 Spring Framework 쎕바쎕~ 예제를 따라하다가 여기서 ant로 컴파일하고 배포하고 막 그르거든요^^
http://www.springframework.org/docs/Spring-MVC-step-by-step/index.html
이게 Spring MVC 스텝바이스텝 예제인데요. 여기서 ANT로 컴파일하고 해당 톰캣에 배포까지는 하는데요.
로컬에 있는 TOMCAT에서만 하고 실제 원격지에다가 deploy하는 법은 또 따로 있더라구요.

http://tomcat.apache.org/download-60.cgi
톰캣 다운로드 홈페이지를 가면, Core 랑 Deployer 2개가 있어요(Tomcat을 한 100번은 받아본 것 같은데 Deployer는 처음봐요-_-;)
Deployer를 받아야해요.

그런다음에 적당한 곳에 압축을 풀어봅시다.
저는 D:/apache-tomcat-6.0.16-deployer/ 이 경로에다가 풀었어요.

build.xml파일을 열어봅시다.
[code]
<property name="deployer.lib" value="D:/apache-tomcat-6.0.16-deployer/lib" />

<path id="deployer.classpath">
  <fileset dir="${deployer.lib}">
   <include name="*.jar"/>
  </fileset>
 </path>

<!-- Configure the custom Ant tasks for the Manager application -->
<taskdef resource="org/apache/catalina/ant/catalina.tasks"
     classpathref="deployer.classpath"/>
[/code]
요렇게 추가를 해봅시다. deployer에 있는 lib를 경로로 추가하는 것이 포인트입니다 ^^
그러면 <deploy>태그를 사용할 수 있더군요.
저것을 추가하지 않으면 이렇게 뜹니다.

D:\workspace\workspace_java\springapp\build.xml:76: Problem: failed to create task or type deploy
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

그럼 <deploy>태그를 이용해서 원격지 서버에 배포할 수 있습니다.
[code]
<target name="server_deploy" depends="deploywar" description="server deploy">
  <deploy url="${tomcat.manager.url}"
   username="${tomcat.manager.username}"
   password="${tomcat.manager.password}"
   path="/${name}"
   war="file:${name}.war"
   update="true">
  </deploy>
 </target>
[/code]
자세히 보면 depends는 deploywar인데 이 target은 war로 만들어주는 target입니다. 저것을 먼저 실행한 후 war파일을 생성한 뒤 그 war파일을 해당 서버에 deploy하는 것이죠.
tomcat.manager.url은 http://서버아이피:8080/manager
tomcat.manager.username는 매니저id
tomcat.manager.password는 매니저password

tomcat에 매니저아이디를 추가하는 것은 (6.0기준)
{tomcat홈}/conf/tomcat-users.xml 파일을 수정해야합니다.
[code]
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager"/>
  <user username="manager" password="manager1" roles="manager"/>
</tomcat-users>
[/code]
저렇게 추가를 하면 돼요.
 
Posted by 머드초보

댓글을 달아 주세요

  1. AZAMARA 2010.05.14 18:41 신고  댓글주소  수정/삭제  댓글쓰기

    오 마침 spring MVC 공부하고있었는데 Ant 자동 배포까지 배울 수 있어서 좋네요 감사합니다 + ㅅ+

  2. BlogIcon 이 가을 2016.05.24 15:52 신고  댓글주소  수정/삭제  댓글쓰기

    8년 전 자료인데 이거 덕분에 잘 해결되었어요 감사합니다 !!!

 

저는 Visual C++ 를 손땐지 너무 오래되서 다 까먹었는데-_-; 갑자기 윈도우용 애플리케이션이 필요했어요^^

그래서 JAVA로 만들라고 했는데 친구한테 물어보는 중에 자기가 만들어 놓은게 있다면서 보내주더니 컴파일해보니 안되더군요. 제껀 Visual C++ 2008버전이였고, 친구가 만들었을 때는 뭐 다른 버전이었나봅니다.
그래서 친구가 원격으로 약 한시간정도 삽질한 결과 완벽하게 포팅을 하더군요-_-;(고마워 밥쏘마-_-;)

이제 저는 프로그램을 적용하려고 Release모드로 빌드를 하고 생성된 exe파일을 해당 컴퓨터에 복사를 하고 실행을 했습니다.

사용자 삽입 이미지


"응용 프로그램 구성이 올바르지 않기 때문에 이 응용 프로그램을 시작하지 못했습니다. 이 문제를 해결하려면 응용 프로그램을 다시 설치하십시오."
라는 것을 보았습니다. 음....대충보니 라이브러리같은 게 없어서 그런듯한데요.
해결 방법은 2가지가 있답니다.
1. 인스톨러를 만드는법-_-; 이건 안해봤으니 패스-_-;

2. 해당 라이브러리를 같은 경로에 복사하는 법 ^^
간단합니다.
C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT 이 경로에 있는 모든파일을 다 복사해서 실행(exe)파일에 같이 넣어두면 돼요 ^^
Microsoft.VC90.CRT.manifest, msvcm90.dll, msvcp90.dll, msvcr90.dll 요고 4개만 복사하면 돼요 ^^
 
Posted by 머드초보

댓글을 달아 주세요

  1. BlogIcon 장현준 2008.03.05 09:58 신고  댓글주소  수정/삭제  댓글쓰기

    또는 static link로 해서 배포하면 되지~ㅎㅎ

  2. 봉봉 2010.12.12 21:08 신고  댓글주소  수정/삭제  댓글쓰기

    이런 방법이 있었네요.
    컴공과 1학년 학생인데 프로그램 만들어서 발표해야 하는데 exe 실행하니 저런오류 떠서 어쩔 수 없이 노트북 들고 왔어요 ㅋㅋ