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 머드초보
,
 

jsmooth는 jar를 exe파일로 생성해줍니다. JAVA가 없을시에는 경고메시지와 함께 홈페이지로 이동 시켜주는 기능도 해주지요 ^^

우선 jsmooth를 설치해봅시다.
http://sourceforge.net/project/showfiles.php?group_id=86730
최신버전은 0.9.9-7버전이군요. 다운로드해서 설치를 합니다.

그러면 우선 간단하게 넷빈즈를 이용해서 java Swing프로젝트를 하나 만들어봅시다.
Netbeans 6.0을 실행하고, File -> New Project에서 Java -> Java Desktop Application을 선택합니다.
Project Name은 Hello Swing을 하고, 아래에 Basic Application선택하고 Finish를 클릭합시다.

GUI화면이 나오는데 오른쪽에 Label을 드래그해서 프레임에 넣어봅시다.
그리고 Label에 대고 오른쪽버튼을 클릭하고 Edit Text를 클릭해서 "Hello Swing" 이라고 써봅시다.

사용자 삽입 이미지


F11을 눌러서 빌드하고(JAR로 만들어줍니다) F6을 눌러서 실행해봅시다.
사용자 삽입 이미지


아...잘나오는군요. 이제 해당프로젝트경로/dist/ 라는 폴더에는 jar파일과 실행에 필요한 jar파일이 생성되어 있습니다. 이것을 이용해서 jsmooth를 통해 exe파일을 만들 수 있습니다.

jsmooth를 실행합니다.
왼쪽메뉴에서 Skeleton을 선택합니다. 윈도우용 프로그램이므로 Windowed Wrapper를 선택합니다.

Executable을 선택합니다.
Executable Binary는 만들어질 실행파일(경로포함)을 써주면 되고, Executable Icon은 프로그램의 아이콘을 뭘로 할 것인가를 정하는 겁니다. Current Directory는 설정안해줘두 돼요. 여기서 주의사항은 Executable Binary는 꼭 경로/실행이름.exe 형식으로 exe형식으로 지정해줘야합니다.

Application을 선택합니다. 가장 중요한 부분이군요.
Embbeded jar settings에서 Embedded jar에서 Use an embedded jar체크 후에 우리가 만든 HelloSwing.jar파일을 선택합니다.
그리고 Classpath에는 이 프로그램이 실행되기 위해 외부jar가 쓰였으면 추가를 하는 것인데 dist폴더에 보면 lib폴더가 있고 2개의 jar파일이 있습니다. 이 두개도 포함이 되어야합니다.
+버튼을 클릭하고 2개를 추가해줍시다.
그리고나서 Main Class를 지정해줘야합니다. helloswing.HelloSwingApp가 아마 메인클래스 일껍니다.


사용자 삽입 이미지


그 다음 JVM Selection을 선택합니다.
Java version setting을 해줘야하는데 최소한 필요한 자바버전을 써주면 되고, 최대지원하는 자바버전을 써주면 됩니다. 만약 나의 애플리케이션이 1.4에서도 돌아간다면 1.4라고 쓰면됩니다.
저는 1.6에서 컴파일했으니 1.6이라고 쓰겠습니다. 컴에 1.6이 없으면 java홈페이지로 연결해서 받도록 됩니다.
나머지는 그냥 냅둬도 됩니다.

그러면 이제 Project메뉴 -> Compile 하면 exe파일이 생성됩니다.

실행해보면 똑같은 화면이 나올껍니다 ^^

 
Posted by 머드초보
,
 

뭐 전송하기라고 하기 뭐한것이-_-; 자기가 데이터요금내고 받는것이라서-_-;
자기가 만든거 자기가 돈내고 받아봐야합니다.
제가 알기론 SKT와 LGT는 제공해주는 것이 있는데 KTF는 없는 것 같습니다(나쁜 KTF OTL...)

생성한 class파일을 JAR로 만들어서 올려야하기 때문에 JAR로 만들어야합니다.
우선 편하게 JAR를 제작하기 위해서 이클립스에서 설정을 조금 해줍시다.
(export해서 jar로 만들어도 되는데 이걸 설정해놓으면 한방에 됩니다-_-;)

Run -> External Tools -> Open External Tools Dialog클릭

Program에서 New를 선택후 make_jar라고 추가합니다.
Location은
C:\Java\jdk1.6.0_02\bin\jar.exe
WorkDirectory는
${workspace_loc:/${project_name}/bin}
Arguments는
-cvf ${java_type_name}.jar *.*

저걸 실행할 때 Package Explorer에서 java파일에 포커스를 주고 make_jar를 실행합니다.

추가된 manifest
추가 중: TestWipi.class(내부 = 1089) (외부= 563)(48%가 감소되었습니다.)

이런 식으로 나오면서 jar파일이 만들어졌습니다.

아래 사이트에 접속합니다.
http://www.developerzone.co.kr/

TECH SUPPORT -> 다운로드테스트 클릭
맨 아래에 보면 파일업로드 란이 있습니다. JAR파일을 선택하고 저장하기를 클릭합니다.

사용자 삽입 이미지

빨간색 X를 클릭하면 뭔가 입력하라고 뜨는데
MIDlet-Name에 TestWipi라고 쓰고, Midlet-1에다가는 클래스이름인 TestWipi라고 쓰면 됩니다.
"테스트 컨텐츠는 http://218.50.54.42/dn/user/TestWipi.asp 에서 다운받으실수 있습니다."
라고 뜹니다. 핸드폰으로 저 주소로 접속하면 자동으로 받아져서 Playon에 다운로드 됩니다.

 
Posted by 머드초보
,
 

솔직히 뭐 구축하고 자시고 할것도 없는데-_-;
저도 몇시간의 삽질끝에 알아냈습니다. 삽질하시는 분들에게 도움을 드리고자-_-;

우선 SKVM SDK를 받아야 합니다.
http://www.developerzone.co.kr
이 사이트에서 회원가입을 해야합니다.
회원가입후에 메뉴에서 DOWNLOAD -> SDK 클릭한다음에
WIPI 에뮬레이터(SKVM 2.0)을 받습니다. 설치합니다.

※참고로 eclipse 버전이 3.2라면 eclipse plugin이 작동하지 않습니다. 설치시 체크 해제하고 설치하세요.

사용자 삽입 이미지
WIPI-Java 2.0.2를 실행했을 때에 요게 뜨면 제대로 설치된 겁니다.

지긋지긋한 이클립스를 켜봅시다.
새로운 자바프로젝트를 만듭시다.
File -> New -> Java Project
Project Name은 TestWipi로 합시다.

TestWipi프로젝트에 대고 alt + enter를 눌러서 Properties를 선택합니다.
얘는 자바sdk로 작동하는 놈이 아니기때문에 자체적인 클래스파일로 바꿔줘야 합니다.
그게 방금 설치한 SKVM에 포함되어 있습니다.
Java Build Path를 클릭하시고, Libraries를 클릭하시면 기본으로 있는 것을 지워버리고
Add External JARs를 클릭해서 C:\Program Files\xce\WIPI-JAVA 2.0.2\classes\classes.jar 파일을 추가합니다.
사용자 삽입 이미지


아 그리고, 위피는 SDK를 1.4로 쓰나봅니다. 그 이상의 SDK를 설치했으면 컴파일시 하위버전으로 컴파일 해야합니다.
Properties -> Java Compiler에서 Enable project specific settings를 체크해주고,
Compiler compilance level을 1.4로 바꿉니다.

사용자 삽입 이미지

그러면 셋팅은 다 된 겁니다-_-;

간단한 예제를 작성해봅시다.
새로운 클래스로 TestWipi.java를 생성하는데 extends를 MIDlet으로 합시다.
[code]
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class TestWipi extends MIDlet {

 private Display display;
 private TextBox tb;

 public TestWipi() {
  display = Display.getDisplay(this);
  tb = new TextBox("Example", "Hello XCE", 20, TextField.ANY);
 }

 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  // TODO Auto-generated method stub
 }

 protected void pauseApp() {
  // TODO Auto-generated method stub
 }
 
 protected void startApp() throws MIDletStateChangeException {
  // TODO Auto-generated method stub
  display.setCurrent(tb);
 }
}
[/code]
WIPI-Java 2.0에서 실행해봅시다.
File -> Open -> Add클릭 후 해당 class파일 선택 Run
사용자 삽입 이미지

아 잘되네요. 글이 너무 길어져서 핸드폰으로 받는 법은 다음으로-_-;
 
Posted by 머드초보
,
 

건국대를 한번도 안가봐서 혹시나 늦을 까봐 일찍 갔더니 9시30분에 도착했습니다.
아직도 준비중이었습니다-_-; 온사람도 몇명 없었고-_-; 어쨌든 기다리고 있는데, ADOBE에서 뭐 가입하라고 쓰는 종이를 작성하면 옥상훈님이 쓰신 "예제로 배우는 플렉스2"를 나눠주더군요-_-;

가볍게 적고 받았습니다. 제가 FLEX공부할 때 가장 도움이 되었던 책인데 도서관에서 빌려서 21일밖에 못 봤는데 이제 나의 것이 되버리니 참 좋았습니다 ^^ FLEX공부를 더 하라는 하나님의 뜻인가봐요-_-;

어쨌든 밖에서 주는 네이버가 준비한 기념품을 몇개(볼펜, 연습장, 핸드폰액적클리너, 포스트잇 등)를 받고 교재를 5000원에 구입하고 입장했습니다. 아....개인적으로 SUN에서 하는 이벤트인 SCJP응시권이 당첨되었으면 좋겠어요-_-;

입장을 하니 네이버가 OPEN API광고를 무한반복으로 돌려 보여주더라구요-_-; 자바 광고도 나오는데 DARK STAR인지 뭔지-_-;

우선 옥상훈님이 개회사를 하시고, 축사로 고건님이 하셨는데, 오픈소스활성화 하자 뭐 그런 내용이었어요-_-; 기조연설 두분이 하셨는데 우리나라가 언어의 장벽때문인지 오픈소스프로젝트에 참여도 매우 낮다고 하더군요. 하긴 맨날 야근하고, 그러는데 영어공부할 시간도 없고, 참여할 시간도 없고 그러는 우리나라 현실이 참 안타깝기만 하네요. 그렇다고 우리나라가 실력은 뒤쳐진다고 생각하지 않는데요. 네이버에서 오픈소스프로젝트를 준비한다고 하는데 잘 되었으면 좋겠네요 ^^

그나저나 세션은 왜 나눠놓은 걸 까요-_-; 뭘 들어야 할지 고민많이 했어요 ^^

1 ROUND NHN 박재성 VS OKJSP허광남
이건뭐 대결하는것도 아니고 세션을 나눠놨어요-_-; 알고보니 허광남님은 GS강서타워에서 일하시더라구요. 그럼 밥먹을 때 몇번 봤을텐데-_-; 저희회사도 그쪽에서 있는데 밥은 GS지하식당에서 먹습니다-_-; 다음에 보면 싸인이라도 받아야 겠군요-_-;
전 박재성씨 강의를 들으러 갔어요-_-; 제가 프레임워크에 관심이 많아서 그쪽으로 설명할 것 같아서 ^^
우선 박재성씨는 NHN에서 "비디오로그"라는 것을 런칭하려고 작업중이시라고 하는데요. 대충 내용은 협업을 가능하게 하자 뭐 그런거 였는데 그걸 하기위해서 오픈소스를 이용하자 그런내용이네요.
박재성씨 개그맨 하셔도 될 것 같습니다-_-; 아놔 웃겨요^^ 참 몰랐는데 네이버블로그나 카페같은 것이 Struts, Spring, iBATIS 등등의 오픈소스프레임워크를 이용해서 만들었다고 하더군요. JIRA라는 것에 대해서 처음알았구요.
그리고 특히 강조한게 Mylyn이라는 이클립스플러그인인데 이게 강력하다고 이것을 쓰면 협업이 쉬워진다 뭐 그런내용인거 같습니다 ^^ 한가지 기능을 위해서 여러개의 class, jsp, xml이 필요해서 막 헷깔리는데 Mylyn으로 편하게 관리할 수 있다고 하더군요. 어쨌든 좋은 프레임워크는 업무를 효율적으로 만드니 오픈소스를 활용하라 뭐 그런내용이었어요. 유익한 내용이었어요 ^^

2 ROUND SUN 배헌장 차장 VS 윤종수 판사
이건 당연히 배헌장씨 강의를-_-; 법을 들으면 왠지 졸릴것 같아서 JAVA 7에 대해서 말하는 듯 해서 이것을 선택했습니다. JAVA7이 2009년에 공개된다고 하더군요-_-; 아직 멀었네요 ^^
JAVA가 오픈소스화 했기때문에 더욱 향상되고 기대되는 부분인데요.
솔직히 졸려서 잤습니다-_-; 그리고 그냥 JAVA랑 지금 하고있는 글래스피쉬인지뭔지를 홍보하러 온 것 같습니다 ^^ 한가지 기억나는것은 JAVA프로젝트 코드명이 동물의 왕국이라더군요-_-;
JAVA7은 돌핀인데 전에 JAVA5인가? 는 TIGER더군요-_-; 어쨋든 자바가 더욱 더 발전했으면 하는 바램입니다. 오픈소스로 인하여 더욱 향상된 기능으로 만났으면 하네요 ^^(뭐 지금도 충분히 좋은데 ^^)

3 ROUND 오픈마루 강규영 VS 한국모질라그룹 윤석찬
파이어폭스를 제가 안쓰기 때문에 그냥 강규영씨 강의 들었습니다-_-; 솔직히 Xquared도 뭔지 잘 몰랐습니다-_-; 근데 스프링노트라는 사이트에서 쓰이는 편집기 기능인데 이것만 따로 떼어다가 다른 곳에 적용할 수 있는 것 같습니다. 이것도 졸려서 잤습니다-_-;
사실 금요일날 12시넘어서 집에 들어가서--; (핑계를-_-)

4 ROUND ADOBE 커뮤니티 챔피언 배준균 VS RED HAT 이희승
FLEX에 관심이 많아서 당연히 배준균씨 강의 들었습니다-_-; FLEX에 대해서 많이 알려지지 않아서 인지 홍보하러 나온 것 같습니다 ^^ 예전에는 APP에서 되던데 WEB에서 안되는게 많았는데 그것을 가능하게 해주는 RIA제작 툴이라고 설명을 하는데요. 뭐 제가 FLEX를 조금 만져본 결과 생각하면 모든게 다 가능할 것 같습니다 ^^
FLEX관련 오픈소스가 뭐가 있는지 설명해주셨구요. 마지막에 신기한 플렉스 사이트를 알려줬는데 이거 정말 신기하더군요. 그리고 "AIR" 라는 것에 대해서 말해주셨는데 데스크탑에서 웹과 연동해서 띄우는 프로그램 뭐 그런거 같은데 위젯같은거라고 말해야하나요? 저도 잘모르겠네요. 한번 알아봐야겠습니다 ^^

5 ROUND DAUM 박성길 VS SKUG 안영회
당근 스프링 2.0 활용을 찾아갔어요-_-; 아직 전 스프링에 대해서 위대하다고 못느껴서 그것을 느껴보려고 갔습니다. 주위에서 하도 스프링스프링해서-_-; 스프링을 사용하게 되면 자신이 침해당하지 않고 코드를 작성할 수 있다? 뭐 그런건가요?-_-; IOC, AOP 등등 뭐 이상한 개념이 아직도 이해가 안가네요-_-; 마지막에 스프링 한국 유저 모임 홍보하시고-_-; 세계 최초(?)로 2.5 적용한 서적을 준비중이라고 하더군요 ^^ 세계최초 ^^
암튼 재미있게 설명 잘하시더라구요 ^^

마지막에 혹시나 하는 마음에 추첨행사에 갔는데 역시나 안되더군요 ㅠㅠ

어쨌든 참 좋은 행사 였던 것 같습니다. 근데 예상외로 사람들이 많이 안 온것 같습니다. 개발자분들은 야근때문에 바빴는지--; 그리고 대학교에서 참관하라고 강제로 뭐라 했는지 대학생들도 많이 온 것 같네요. 오픈소스에 관심있는 분들이 오신거일 수도 ^^ 나름 좋은 정보를 알아가서 좋았던 것 같습니다 ^^

 
Posted by 머드초보
,