달력

12022  이전 다음

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  

pom.xml에 다음 코드를 추가하면 mvn tomcat:run 으로 프로젝트를 실행할 수 있습니다. 설치된 톰캣이 없어도 톰캣은 자동으로 다운로드합니다.

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat6-maven-plugin</artifactId>
          <version>2.1</version>
        </plugin>
        <plugin>
          <groupId>org.apache.tomcat.maven</groupId>
          <artifactId>tomcat7-maven-plugin</artifactId>
          <version>2.1</version>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

from: http://tomcat.apache.org/maven-plugin-2.1/

Posted by kenu허광남

댓글을 달아 주세요



[INFO] [war:war {execution: default-war}]
[INFO] Packaging webapp
[HUDSON] Archiving C:\eGovFrameSvr\hudson\jobs\ok.egov\workspace\pom.xml to C:\eGovFrameSvr\hudson\jobs\ok.egov\modules\ok$egov\builds\2013-07-02_07-12-51\archive\ok\egov\1.0.0\pom.xml
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
---- Debugging information ----
message             : Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
cause-exception     : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message       : Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
class               : org.apache.maven.plugin.war.util.WebappStructure
required-type       : org.apache.maven.plugin.war.util.WebappStructure
path                : /webapp-structure
line number         : 1
-------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Trace
com.thoughtworks.xstream.converters.ConversionException: Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
---- Debugging information ----
message             : Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
cause-exception     : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message       : Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
class               : org.apache.maven.plugin.war.util.WebappStructure
required-type       : org.apache.maven.plugin.war.util.WebappStructure
path                : /webapp-structure
line number         : 1
-------------------------------
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:63)
	at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:117)
	...
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:722)
Caused by: com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
	at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.newInstance(PureJavaReflectionProvider.java:59)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.instantiateNewInstance(AbstractReflectionConverter.java:257)
	at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:124)
	at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:56)
	... 43 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Tue Jul 02 07:12:57 KST 2013
[INFO] Final Memory: 20M/49M
[INFO] ------------------------------------------------------------------------
channel stopped
Finished: FAILURE


이 에러 메시지는 maven war plugin 이 Java7을 지원하지 못하기 때문이라고 합니다. jdk1.6으로 내리거나 아래 플러그인을 pom.xml에 추가해야 합니다.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
</plugin>

from: http://stackoverflow.com/questions/7539970/cannot-construct-org-apache-maven-plugin-war-util-webappstructure-as-it-does-not




Posted by kenu허광남

댓글을 달아 주세요

20여년 전의 실화군요. 톰 행크스 나오는 영화야 손해보는 것은 없지요. 재밌게 봤습니다.
아내랑 조조할인 봤는데, ㅋㅎ 통신사 할인 2,000원 마저 할인받으니 둘이 6,000원으로 볼 수 있었습니다. 역시 조조할인 노래가 나올 만해요. 집앞에 극장은 참 좋은 듯합니다.

영화 총평은 별4개정도. 영화 관전 포인트랄 것도 없지만 아래 배나온 스파이는 참 목소리가 끌립니다. 물론 배짱도. 준비된 사람은 언제나 자신감으로 행동하는 듯 합니다.
사용자 삽입 이미지

아래 세 여자가 모두 찰리의 사무실에서 일하는 여자입니다. 까만 옷의 "보니" 옷이 제일 내숭이죠. 명대사 하나, "타이핑은 가르칠 수 있어도, 바디라인은 가르칠 수 없다"는 찰리의 비서에 대한 철학은 기가 막힙니다.
사용자 삽입 이미지

현재 실존하는 찰리 윌슨 입니다. 자기가 의도한 삶을 살았는지는 모르겠지만, 냉전 종식에 큰 역할을 맡게 된 분이지요. 수고하셨습니다.
사용자 삽입 이미지
screen shots from:
http://movies.yahoo.com/movie/1809774261/video/5572506

짧은 영화조각들 몇 편을 위 링크를 통해서 보실 수 있습니다.

Posted by kenu허광남

댓글을 달아 주세요

  1. 내 삶의 스크린에서  댓글주소 수정/삭제 댓글쓰기 2008.02.08 17:55

    저는 좀 바빠서 덧글 도 못남기고 갔는데 맞트랙백 감사합니다^^

    남자분들의 로망...ㅎㅎ

    그런데 그 여비서들이 또 일을 대충하는 것도 아니고 다 잘하니까 나쁘진 않았던것 같습니다~

    제가 여성으로서 그렇게 한다면 꽃미남에 어린 분들로만...쿨럭..ㅎㅎ

    그냥 오락영화였지만 생각할점들이 있다는 점에서.. 한국영화도 조금은 본받아야하지 않나 싶네요~
    인터넷이 넓으면서도 좁으니 언제 또 뵙지요^^

    • kenu허광남  댓글주소 수정/삭제 2008.02.09 17:31 신고

      ^^ 좋은 사장님 되시길.. ㅋㅋ
      한국영화도 선전하고 있지만, 경제 논리에 싸움을 버티기는 쉽지 않겠죠.
      그렇다고 프랑스 풍으로 가면 좀 난감해요.
      행복하세요. ㅎㅎ

  2. 탁..  댓글주소 수정/삭제 댓글쓰기 2008.02.11 20:24

    저도 설 연휴에 봤는데..

    9.11 이후 미국의 아프간 침공 전에 나왔어야
    그나마 먹혔을 영화가 아닌가 싶더라고요 :|

전편에 이어서 프로젝트의 빠진 jar 파일을 보충하는 방법입니다.
Problems 뷰를 보면 에러 목록을 볼 수 있습니다.

사용자 삽입 이미지

빨간 에러 메시지를 따라가면 Jetty 관련 파일들이 필요함을 알 수 있습니다. WebContent 폴더 아래 WEB-INF/lib 폴더에 jetty 관련한 파일이 없죠. Web App Libraries 아래와 동일한 목록입니다.
사용자 삽입 이미지

http://getahead.org/dwr/download 페이지로 돌아가서 dwr-2.0.1-src.zip 파일을 받으면 있을 것 같다는 생각이 들지 않나요? 다운 받아서 압축을 풀어봅니다. 그럼 jar 디렉토리가 보입니다. jetty-6.1.1.jar 와 jetty-util-6.1.1.jar 파일 2개를 탐색기에서 복사합니다. 파일 선택하고 ctrl+C
사용자 삽입 이미지

WebContent/WEB-INF/lib 폴더를 선택하고 오른버튼의 컨텍스트 메뉴에서 Paste 로 붙여넣기 하면 됩니다. 위쪽의 Libraries에 Web App Libraries는 동일해 보여도 바로 붙여넣기가 안됩니다.
사용자 삽입 이미지

자연적으로 추가된 두 개의 jar파일이 Web App Libraries 에 보이게 됩니다.
사용자 삽입 이미지

물론 jetty 관련 에러도 모두 사라졌죠. 하나 더 있군요. JettySpringLauncher.java 에 GenericWebApplicationContext 클래스요. org.springframework.web.context.support.GenericWebApplicationContext 패키지를 보니 스프링프레임워크를 참조하는군요. 같은 방법으로 spring-2.0.jar 파일을 추가하면 됩니다.

쉽죠. ^^;
하나 더 말씀 드리자면, 탐색기에서 드래그앤드롭으로 추가가 가능합니다. 복사죠.
드래그앤드롭 추가

드래그앤드롭 추가

Posted by kenu허광남

댓글을 달아 주세요

WAR (Web application ARchive)
TAR와 비슷하죠. 묶는 겁니다. 무엇을? 위에 있잖아요. Web application을.

dwr 이라는 것을 샘플로 해보겠습니다.
http://getahead.org/dwr/download 에서 구할 수 있습니다.
dwr.jar 는 class로 구성된 java archive 파일이고, 그래서 jar입니다.
dwr.war 는 웹애플리케이션 묶여있는 것입니다.

jar 파일과 zip 파일의 압축 알고리즘은 같다고 알고 있습니다.
war 파일 안에는 WEB-INF/web.xml 파일을 포함해서 하나의 온전한 웹애플리케이션이 디렉토리를 갖추어서 들어가 있습니다.

이클립스에서 이 파일을 통해서 다이나믹 웹 프로젝트를 만들 수 있게 되어있습니다.
패키지 익스플로러에서도 가능하지만 WTP에 포함된 프로젝트 익스플로러(Project Explorer)에서 시작하겠습니다.

빈 여백에서 오른버튼을 클릭하면 컨텍스트 메뉴에 Import 가 있고 WAR file을 선택합니다.

사용자 삽입 이미지

dwr.war 파일이 있는 곳을 찾아서 지정하면 Web project 도 자동으로 채워집니다. Target runtime이 없다면 우측의 New... 버튼을 클릭해서 지정하시면 됩니다.
사용자 삽입 이미지

Next 버튼 말고 Finish 버튼을 클릭하면 dwr 프로젝트가 생성됩니다.
일단 여기까지 가져온 프로젝트의 디렉토리 구조를 확인해 보시면 됩니다.

에러 메시지가 보일 수 있는데 정리는 다음 글에서 다루도록 하겠습니다.
Posted by kenu허광남

댓글을 달아 주세요