Raible's Wiki

Raible Designs
Wiki Home
News
Recent Changes

AppFuse

Homepage
  - Korean
  - Chinese
  - Italian
  - Japanese

QuickStart Guide
  - Chinese
  - French
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish
  - Japanese

User Guide
  - Korean
  - Chinese

Tutorials
  - Chinese
  - German
  - Italian
  - Korean
  - Portuguese
  - Spanish

FAQ
  - Korean

Latest Downloads

Other Applications

Struts Resume
Security Example
Struts Menu

Set your name in
UserPreferences

Edit this page


Referenced by
AppFuse_ko
LeftMenu




JSPWiki v2.2.33

[RSS]


Hide Menu

AppFuseSupport_ko


이것은 AppFuse에 관련된 질문들의 목록이다. 당신은 AppFuse TutorialsStrutsResume Support 페이지를 통해서도 유사한 내용을 볼수 있다. 저장된 메일링 리스트AppFuse IRC channel 또한 도움이 될것이다.

목차

  • [1] 공통적인 질문들
  • [2] AppFuse를 사용한 개발
  • [3] 보안관련 질문들
  • [4] Struts에 관련된 방법
  • [5] 데이터베이스 질문과 방법
  • [6] 애플리케이션 서버 질문과 방법
  • [7] Anthill과 CruiseControl 사용하기
  • [8] Hibernate에 관련된 질문들
  • [9] 오래된 질문들

공통적인 질문들 [#1]

  • UserForm.java는 어디에 있나.?
UserForm.java 파일은 Ant를 사용하여 XDoclet에 의해 생성된다. 만약 당신이 "ant compile"를 수행한다면, 이것은 build/web/gen/org/appfuse/webapp/form에 생성될것이다.
이 글이 이것을 가장 잘 설명하고 있다.
  • 이 위키가 AppFuse에 대한 질문을 요청하기 위한 곳인가.?
물론이다. 하지만 당신은 포럼이나 메일링 리스트를 통해서 좀더 직관적이고 입력가능할것이다. 또한 이 위키는 스패머때문에 최근에 잠겨있다. 그래서 당신은 글을 포스팅하기 위해서는 나로부터 아이디와 비밀번호를 얻어야 할 필요가 있다. 저장된 메일링 리스트 가 굉장히 좋은 자료인것도 잊지 말라.
  • 왜 내가 "Cannot create JDBC driver of class ' ' for connect URL 'null'" 와 같은 에러를 보게 되는가.?
당신이 잊고 수행하지 않은 작업은 "ant setup-tomcat" 이다(또는 데이터베이스가 제대로 셋업될 필요가 있다면 "ant setup"). 또한 당신이 Tomcat를 사용한다면 가장 최신의 추천되는 버전 인지를 확인해보라.
  • 왜 내가 "build.xml:1037: taskdef class org.apache.catalina.ant.ReloadTask cannot be found" 와 같은 에러를 보게 되는가.?
Ant가 $CATALINA_HOME\server\lib\catalina-ant.jar 파일내 ReloadTask를 찾을수 없는 것이다. 당신은 환경변수인 CATALINA_HOME(윈도우즈 디렉토리면 %CATALINA_HOME% , 유닉스라면 $CATALINA_HOME)가 tomcat설치 디렉토리를 가리키는지 확인할 필요가 있다. 이 에러는 당신이 쌍따옴표로 path를 감쌀때 발생할수도 있다(예를 들어 CATALINA_HOME="c:\Tomcat 5.5" 라고 셋팅되어 있다면 쌍따옴표를 제거하라.)
  • build.properties와 properties.xml파일을 어떻게 맞추는가.?
Ant는 변경할수 없는 프라퍼티를 가진다. 프라퍼티가 처음에 셋팅된다면, 이것은 변경할수 없다. 이것은 AppFuse에서 프라퍼티들을 셋팅하는 방법의 순서이다.
command-line using -Dproperty=value
~/.appname-build.properties
~/.build.properties
build.properties
properties.xml (or build.xml) - wherever it's used''
  • 팀으로 작업할때, 특정 테이블에서만 db-load작업을 사용하여 특정 POJO를 테스트하는 방법은 무엇인가.?
첫번째, 모든 sample-data.xml파일을 사용하는 대신에, sample-person.xml이라는 이름의 파일을 생성한다. 그리고 입력을 원하는 데이터를 그 파일에 적는다. 그리고 나서 다음의 명령을 수행한다.
ant test-dao -Dtestcase=PersonDao -Dfile=metadata/sql/sample-person.xml

AppFuse를 사용한 개발 [#2]

  • 당신의 개발 환경을 셋업하기 위한 방법. 이것은 내가 새로운 컴퓨터에서 빌드할때 대개 사용하는 방법이다. 이것은 환경변수, 다운로드, 애플리케이션을 설치하는 위키등등을 포함한다.
  • 중요한 ant task는 무엇인가.? 그리고 task들은 무엇을 하는가.?
AppFuseAntTasks를 보라.

보안관련 [#3]

  • appfuse를 사용하여 NTLM인증을 사용하기 위한 방법은 무엇인가.? jCIFS를 사용하여, Tomcat에서의 NTLM인증을 사용하기 위해 jcifs.http.NtlmHttpFilter를 사용할수 있다. Matt.. 당신은 AppFuse와 통합될수있다면 몇몇 지침을 줄수 있는가.?
이것은 Tomcat에서 NT도메인과 통신을 하기 위한 Andy Armstrong의 JAAS Login Modules을 사용하는 방법이다. 오래전부터 사용해왔지만 아직도 여전히 잘 작동한다. 나는 jCIFS에 대해 경험해본적이 없다. 하지만 당신이 이것을 사용해서 작업한다면 나에게 알려주길 바란다. 나는 위키에 이것을 위한 문서를 작성하도록 당신을 돕게 되길 바란다. ~ Matt

Struts에 관련 [#4]

  • JSTL키워드인 'empty'는 왜 작동하지 않는가.?
empty 키워드는 java.util.List, java.util.Map, 문자열과 배열에서만 작동한다. java.util.Set과 같은 집합은 지원되지 않는다. 만약 당신이 이전의 JSP2.0를 사용하고 Set이 empty이거나 사용하지 않는지 테스트하길 원한다면 : <c:if test="${mycollection['empty']}">.
내가 발견한 이 문제를 위한 가장 믿을만한 작업상황은 다음을 사용하는 것이다.
  <c:forEach items="${mycollection}" var="element" varStatus="rowNum">

    <c:if test="${rowNum.count==1}">
      <table>
        <tr> <th> Value Header </th> </tr>
    </c:if>

      <tr>
        <th>
          <c:out value="${element.value}"/>
        </th>
      </tr>
      <c:if test="${rowNum.last}">
      </table>
    </c:if>
  </c:forEach>

은 이것을 좀더 상세하게 설명한다. 만약 당신이 tomcat 5를 사용한다면, 이것은 JSP2.0을 지원하기 때문에 이 문제를 겪지 않을것이다.

데이터베이스 관련 [#5]

  • 나는 MySQL데이터베이스 생성을 시도할때 "access denied" 에러가 발생한다.
이 이슈는 당신이 Unix에서 작업을 수행하거나 root비밀번호를 변경했을때 주로 발생한다. 이를 해결하기 위해 이 페이지를 보라.
  • 내가 MySQL데이터베이스에 대해 테스트를 시도할때 "Illegal mix of collations" 에러가 발생한다.
MySQL 4.1.7+은 당신에게 AppFuse에서 유니코드 지원을 받기 위해 UTF-8로 디폴트 문자셋을 추가하도록 요구한다. 이 작업을 수행하기 위해 c:\Windows\my.ini 나 /etc/my.cnf 파일에 다음을 추가하면 된다.
[mysqld]
default-character-set=utf8
  • 나는 트랜잭션내 예외가 던져지고 롤백이 아무것도 발생하지 않는 메소드가 있다. 무엇때문인가.?
MySQL의 디폴트 테이블인 MyISAM은 디폴트로 트랜잭션을 지원하지 않는다. 트랜잭션 지원을 위해서 c:\Windows\my.ini 나 /etc/my.cnf 파일에 다음 셋팅을 추가하거나 변경하라. 당신은 PostgreSQL또한 사용할수 있다.
[mysqld]
default-storage-engine=innodb
NOTE: 당신은 설정파일내 default-storage-engine의 동의어인 default-table-type을 보게 될수도 있다. 그렇다면, 그 파라미터값을 innodb로 셋팅하라.
MySQL Administrator는 MySQL을 관리하고 모니터링하기 위한 좋은 도구이다.
  • 나는 suse리눅스 9.2에서 MySQL을 사용할때 문제가 발생한다.
MySQL 3.1.5 JDBC 드라이버 (혹은 그 이상의 버전) 으로 업그레이드하면 이것은 해결된다.
  • 내가 test-dao를 실행할때 "Could not synchronize database state with session" 예외가 발생한다.
key를 가진 클래스가 버전이나 시각(timestamp)프라퍼티를 선언하지 않는다면, saveOrUpdate()와 종속적인 작업을 수행하기는 더 어렵다. 당신은 여기서 언급된것처럼 사용자정의 Hibernate인터셉터를 사용해야만 할것이다. (반면에, 당신이 saveOrUpdate()대신에 명시적으로 save()와 update()를 사용한다면, Hibernate는 일시적이고 독립된 인스턴스사이의 구별이 필요하지 않을것이다. 그래서 당신은 이 충고를 별 문제 없이 무시할수 있다. ) 복합 key는 같은 생각을 확장한다. {Hibernate in Action의 333페이지}
  • Spring관리 DataSource대신에 JNDI DataSource를 사용하는 방법.? (1.9+):
metadata/conf/tomcat-context*.xml 에서, JNDI DataSource 셋팅의 주석을 제거한다. web/WEB-INF/applicationContext-resources.xml파일내 JNDI "dataSource" bean의 주석을 제거하고 활성화된 "datasource" bean을 삭제한다. 만약 프로젝트에 이 설정을 영구히 적용하길 원한다면, 당신은 lib/jakarta-commons 로부터 commons-dbcp.jarcommons-pool.jar를 삭제해도 무방하다.

애플리케이션 서버 관련 [#6]

AppFuseOnOrion를 보라. - Orion은 Oracle AS에 내장된 서버이다.

지속적인 통합 [#7]

Hibernate에 관련 질문들 [#8]

NOTE: * Hibernate 한글 문서가 좋은 자료이다..
Lazy 초기화에 대해서 쓴 Karl Baum의 글을 보라. 특히, Being Lazy in your Unit Tests 부분을 보라.
  • *.hbm.xml파일을 생성하기 위해 XDoclet를 사용하는가.? 하나의 hbm.xml파일을 덮어쓰고 직접 이 파일을 생성하는 것도 가능하가.?

POJO에서 @hibernate.class를 사용한다면, hibernatedoclet은 build/dao/gen에 맵핑파일을 생성할 것이다. 만약 src/dao/**/model/*디렉토리에서 당신이 사용하는 POJO를 위한 맵핑파일(*.hbm.xml)을 사용한다면, 생성된 버전으로 덮어쓰일것이다. 만약 두개의 충돌에 대해 걱정하고 싶지 않다면, 당신의 POJO내 @hibernate.class로부터 @ 문자를 제거하고 model디렉토리에 당신의 hbm.xml파일을 두라.

build.xml변경은 필요하지 않다. "package-dao" target은 다음의 맵핑파일을 포함할것이다.

       <copy todir="${build.dir}/dao/gen">
           <fileset dir="src/dao" includes="**/*.xml" excludes="**/*-${dao.type}.xml"/>
           <filterset refid="variables.to.replace"/>
       </copy>

hibernatedoclet처리를 제거하길 원하다면, 그렇게 할수 있지만 먼저 확인하고 실행하라. 그리고 나서 생성된 hbm.xml파일 모두를 당신의 model디렉토리에 복사하라.

오래된 질문들 (더이상 가치가 없는) [#9]



Go to top   Edit this page   More info...   Attach file...
This page last changed on 06-Nov-2006 13:53:00 MST by DongGukLee.