
Developer Tools의 알려진 제한사항
WebSphere® Application Server Developer Tools for Eclipse 관련 작업 중에는 몇 가지 알려진 제한사항이 적용됩니다.
런타임 환경의 알려진 문제 및 제한사항도 참조하십시오.
알려진 문제 및 제한사항의 목록
- 콘솔 로그 레벨 설정을 수정한 이후 Liberty 서버와 상호작용할 수 없음
- 서버를 복사하여 붙여넣으면 공개 상태가 동기화에서 벗어나게 됨
- hideMessage 속성을 사용하여 메시지를 억제하는 경우 서버의 시작을 인식할 수 없음
- 원격 서버가 새 Java 버전으로 작성된 프로젝트를 실행할 수 없음
- 원격 Liberty 서버를 사용하거나 Docker 컨테이너의 Liberty 서버를 사용할 때 일부 유틸리티를 사용할 수 없음
기본 Liberty 런타임 이름을 변경하여 프로젝트 마이그레이션 수행
애플리케이션은 서버 보기의 서버 아래에서 두 번 표시됩니다.
콘솔 로그 레벨 설정을 수정한 이후 Liberty 서버와 상호작용할 수 없음
콘솔 로그 레벨이 WARNING, ERROR 또는 OFF로 설정될 때 알려진 제한사항이 있습니다. Liberty 서버와 상호작용할 때 워크벤치에 문제점이 있습니다(예: 서버를 시작 또는 중지하거나 이에 공개할 수 없음). 예를 들어, 워크벤치가 Liberty 서버를 시작할 수 없으며 다음의 제한시간 초과 오류 메시지가 표시됩니다.
콘솔 로그 레벨(consoleLogLevel)은 INFO, AUDIT, WARNING, ERROR, OFF 범위 옵션을 갖는 서버 구성(server.xml) 파일의 logging 구성 요소의 속성입니다. AUDIT가 콘솔 로그 레벨 설정의 기본값입니다. 세부사항을 보려면 Liberty 커널 주제의 consoleLogLevel 속성을 검색하십시오.
이 알려진 제한사항을 임시로 해결하려면 INFO를 지정하거나 콘솔 로그 레벨에 대해 기본 AUDIT 설정을 사용하십시오.- 서버 보기에서 Liberty 서버를 펼치십시오.
- 서버 구성[server.xml] 노드를 마우스 오른쪽 단추로 클릭하고 열기를 선택하십시오.
- 서버 구성 편집기와 구성 구조 섹션에서
서버 구성 노드를 펼치십시오. 다음 단계는 로깅 요소가 사용 가능한지 여부에 따라 다릅니다.
- 로깅 요소가 사용 가능한 경우, 이를 선택하고 서버 구성 편집기의 로깅 섹션 아래에서 콘솔 로그 레벨 필드의 드롭 다운 메뉴를 사용하여 AUDIT 또는 INFO 옵션을 선택하십시오. 편집기의 변경사항을 저장하려면 Ctrl + s를 입력하십시오.
- 로깅 요소를 사용할 수 없는 경우 워크벤치가 이미 기본 AUDIT 설정을 사용 중입니다. 따라서 워크벤치 및 Liberty 서버 간의 상호작용 실패를 유발하는 다른 문제점이 발생할 수 있습니다.
서버를 복사하여 붙여넣으면 공개 상태가 동기화에서 벗어나게 됨
동일한 구성 파일을 가리키므로 서버 복사 및 붙여넣기는 피하십시오. 서버를 복사하여 붙여넣으면 공개 상태가 동기화를 벗어나게 됩니다. 예를 들어, 한 서버에서 애플리케이션을 제거하는 경우 해당 애플리케이션은 다른 서버에 배치되지 않은 경우에도 다른 서버에 배치된 것으로 여전히 표시됩니다. 다음 공개 조작이 수행될 때까지 서버 상태는 다시 동기화되지 않습니다.hideMessage 속성을 사용하여 메시지를 억제하는 경우 서버의 시작을 인식할 수 없음
메시지를 억제하도록 서버 구성 [server.xml]의 Logging 요소에서 <hideMessage> 속성을 구성할 수 있습니다. 서버 시작 메시지를 숨기도록 구성하는 경우(예: <logging hideMessage="CWWKF0011I"/>), 도구는 시작 시에 서버의 상태를 인식할 수 없습니다. 이 경우에는 제한시간 초과되고 다음 메시지가 표시될 때까지 서버 보기에서 서버의 상태는 starting을 유지합니다.

원격 서버가 새 Java 버전으로 작성된 프로젝트를 실행할 수 없음
원격 서버가 실행 중인 버전보다 높은 Java 버전으로 프로젝트를 컴파일하는 경우에는 다음과 같은 오류 메시지를 수신할 수 있습니다.
Error 404: javax.servlet.UnavailableException:
SRVE0202E: Servlet [s1]: s1 was found, but is corrupted:
SRVE0227E: Check that the class resides in the proper package directory.
SRVE0228E: Check that the classname has been defined in the server using the proper case and fully qualified package.
SRVE0229E: Check that the class was transferred to the filesystem using a binary transfer mode.
SRVE0230E: Check that the class was compiled using the proper case (as defined in the class definition).
SRVE0231E: Check that the class file was not renamed after it was compiled.
원격 서버가 실행 중인 버전보다 높은 Java 버전으로 패키지의 프로젝트를 작성하는 경우에는 다음과 같은 오류 메시지를 수신할 수 있습니다.
Error 404: java.io.FileNotFoundException: SRVE0190E: File not found: /s2
Console output: [ERROR ] SRVE0266E: Error occurred while initializing servlets: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class=s1, offset=6
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:383)
at com.ibm.ws.classloading.internal.AppClassLoader.definePackageAndClass(AppClassLoader.java:318)
at [internal classes]
이 오류를 피하려면, 원격 서버가 실행 중인 버전과 동일한 Java 버전으로 또는 이전 버전으로 프로젝트를 컴파일하십시오. 또한 원격 서버가 실행 중인 버전과 동일한 Java 버전으로 또는 이전 버전으로 패키지의 프로젝트를 작성할 수도 있습니다. 원격 서버의 Java 버전을 찾으려면 messages.log 파일을 확인하십시오. messages.log 파일 보기에 대한 자세한 정보는 개발자 도구를 사용한 추적 및 메시지 로그 파일 보기의 내용을 참조하십시오.
원격 Liberty 서버를 사용하거나 Docker 컨테이너의 Liberty 서버를 사용할 때 일부 유틸리티를 사용할 수 없음
- 웹 서버 플러그인 생성
- 구성 스니펫 추가
- 웹 서버 플러그인 생성
- 서버 패키징
- 구성 스니펫 추가
![[17.0.0.4 and later]](../ng_v17004plus.gif)
기본 Liberty 런타임 이름을 변경하여 프로젝트 마이그레이션 수행
기본 Liberty 런타임 이름이 "WebSphere Application Server Liberty"에서 "Liberty 런타임"으로 변경되었습니다. 이전 기본 이름을 가진 런타임을 대상으로 하는 프로젝트는 런타임에 새 기본 이름이 있는 작업공간으로 가져올 때 마이그레이션되어야 합니다. 프로젝트를 가져올 때 작업공간 마이그레이션 마법사는 프로젝트를 새 런타임 이름으로 마이그레이션하라는 프롬프트를 자동으로 표시합니다.
![[17.0.0.4 and later]](../ng_v17004plus.gif)
애플리케이션은 서버 보기의 서버 아래에서 두 번 표시됩니다.
도구에서는 Eclipse의 애플리케이션 프로젝트 이름이 서버 구성에서 지정된 애플리케이션 이름과 일치한다고 예상합니다. 도구를 사용하여 애플리케이션을 배치하는 경우 애플리케이션 프로젝트 이름은 서버 구성의 애플리케이션 이름과 일치합니다. 그러나 애플리케이션을 서버 구성 파일에 직접 추가하는 경우 Eclipse의 프로젝트 이름이 애플리케이션 이름과 일치하는지 확인하십시오. 프로젝트 이름이 애플리케이션 이름과 일치하지 않는 경우 도구가 동일한 애플리케이션임을 인식하지 않으므로 애플리케이션이 서버 구성에 다시 추가됩니다.