수동으로 Liberty 기능 개발

Liberty 기능을 수동으로 작성하고 이를 Liberty에 설치할 수 있습니다.

이 태스크 정보

기능은 단일 OSGi 번들과 기능 Manifest 파일로 구성될 수 있습니다. 이 예제는 기본 애플리케이션 클래스 경로에서 외부 패키지를 볼 수 있도록 라이브러리를 애플리케이션에 사용 가능하도록 만듭니다. 기능 Manifest를 ${wlp.user.dir}/extension/lib/features 디렉토리에 복사하고 OSGi 번들을 ${wlp.user.dir}/extension/lib 디렉토리에 복사하여, 기능을 Liberty에 설치할 수 있습니다. 그러면 server.xml 파일의 기능을 사용할 수 있습니다.

기능 Manifest 파일의 형식에 대한 자세한 정보는 Liberty 기능 Manifest 파일의 내용을 참조하십시오.

이 예제는 Liberty 기능을 수동으로 구성하는 방법을 설명합니다. 또는 WebSphere® Application Server Developer Tools를 사용할 수 있습니다. 개발자 도구를 사용한 Liberty 기능 작성의 내용을 참조하십시오.

프로시저

Liberty 기능을 수동으로 작성하려면 다음 단계를 완료하십시오.

  1. 예를 들어, 애플리케이션을 노출하려는 Java™ 패키지를 내보내려면, Java 클래스를 포함하는 OSGi 번들과 적절한 OSGi 헤더가 있는 번들 Manifest 파일을 작성하십시오. Bundle-SymbolicName은 유일한 필수 헤더입니다. 이 항목은 역방향의 도메인 이름 지정 규칙에 기반하여 번들에 대한 고유 ID를 지정합니다. 번들의 버전을 지정하는 것이 좋으며 이 예제에서는 일부 Java 패키지를 애플리케이션용으로 내보냅니다.
    Bundle-SymbolicName: com.usr.samplebundle
    Bundle-Version: 1.0.1
    Export-Package: com.usr.samplebundle.pkg1; version="1.0.0", com.usr.samplebundle.pkg2; version="1.0.1"
  2. jar 명령을 사용하여 Java 클래스와 기능 Manifest 파일을 패키징하십시오. 예:
    jar cfm samplebundle.jar MANIFEST.Mf *.class
  3. 런타임 환경에 대해 기능을 설명하는 feature-name.mf 기능 Manifest 파일을 작성하십시오.
    1. 필수 Manifest 헤더를 제공하십시오.
      • Subsystem-SymbolicName - 기능의 ID와 가시성을 지정합니다.
      • Subsystem-Content - 기능을 구성하는 파일을 찾습니다.
      • IBM-Feature-Version - 런타임 환경에 필요한 기능 지원 버전을 식별합니다.
    2. 우수 사례: 서브시스템 스펙의 적용 가능한 버전(Subsystem-ManifestVersion), 기능의 버전(Subsystem-Version), 기능의 축약형 이름(IBM-ShortName)을 표시하는 선택적 Manifest 헤더를 추가하십시오. 이러한 값을 지정하면 나중에 기능을 전개하는 데 도움이 됩니다.
    3. IBM-API-Package 헤더에서, 애플리케이션에 대한 기본 클래스 로더에 노출할 패키지를 나열하십시오.
    4. 옵션: Liberty 기능을 작성하는 경우, 사용자는 이 기능을 사용자 제품 확장기능에 설치하며 사용자 제품 확장기능에 설치된 다른 기능은 이 기능의 패키지에 액세스할 수 있습니다. 하나 이상의 SPI 패키지를 다른 제품 확장기능의 기능에서 사용할 수 있도록 하려면 IBM-SPI-Package 헤더의 패키지를 나열하십시오.
    Subsystem-ManifestVersion: 1.0
    Subsystem-SymbolicName: com.example.myfeature.sample-1.0; visibility:=public
    Subsystem-Version: 1.0.0.qualifier
    Subsystem-Type: osgi.subsystem.feature
    Subsystem-Content: samplebundle; version="[1,1.0.100)"
    IBM-Feature-Version: 2
    IBM-API-Package: com.usr.samplebundle.pkg1; type="api",
                     com.usr.samplebundle.pkg2; type="api"
    IBM-SPI-Package: com.sample.myservice.spi;
    IBM-ShortName: sample-1.0
  4. 번들을 ${wlp.user.dir}/extension/lib 디렉토리로 복사하십시오.
  5. 기능 Manifest를 ${wlp.user.dir}/extension/lib/features 디렉토리로 복사하십시오.
  6. 기능 Manifest 파일에 Subsystem-NameSubsystem-Description 헤더를 정의하고 값을 자국어로 지원한 경우 Subsytem-Localization 헤더에 지정된 자국어 지원 파일을 ${wlp.user.dir}/extension/lib/features/l10n 디렉토리에 복사하십시오.

결과

기능이 Liberty에 설치된 후에는 기능 이름을 server.xml 파일의 구성된 기능 목록에 추가할 수 있습니다. 예:
<featureManager>
     <feature>usr:sample-1.0</feature>
</featureManager>

주제의 유형을 표시하는 아이콘 태스크 주제

파일 이름: twlp_feat_example.html