B.3. 사용자 정의 Karaf 어셈블리


Karaf 서버 어셈블리를 생성하는 권장 방법은 karaf-maven-plugin 에서 제공하는 karaf:assembly 목표를 사용하는 것입니다. 이렇게 하면 프로젝트의 pom.xml 파일에 Maven 종속 항목에서 서버가 어셈블됩니다. karaf-maven-plugin 구성에 지정된 번들(또는 기능)과 pom.xml 의 < dependencies > 섹션에 지정된 종속성은 사용자 지정 karaf 어셈블리에 들어갈 수 있습니다.

  • kar의 경우

    kar 유형의 종속성은 시작(scope=컴파일), 부팅(scope=runtime) 또는 karaf-maven-plugin에서 설치된 (scope=provided) kars로 추가됩니다. kars는 작업 디렉터리(target/assembly)에 압축을 풀며 기능 XML이 추가 기능 리포지토리(해당 kar의 단계)로 검색 및 사용됩니다.

  • features.xml의 경우

    기능 분류기를 사용하는 종속성은 karaf-maven-plugin에서 시작 (scope=compile), 부팅 (scope=runtime) 또는 설치된 (scope=provided) 리포지토리로 사용됩니다. kar에서 발견된 기능 리포지토리를 명시적으로 추가할 필요가 없습니다.

  • ScanSetting 및 번들의 경우

    번들 유형이 있는 종속성은 시작(scope=컴파일), 부팅(scope=runtime) 또는 karaf-maven-plugin에 설치된 (scope=provided) 번들로 사용됩니다.

B.3.1. Karaf:assembly 목표

karaf-maven-plugin 에서 제공하는 karaf:assembly 목표를 사용하여 Karaf 서버 어셈블리를 생성할 수 있습니다. 이 목표는 프로젝트 POM의 Maven 종속 항목에서 마이크로 서비스 스타일 서버 어셈블리를 어셈블합니다. Fuse on OpenShift 프로젝트에서 karaf:assembly 목표를 Maven 설치 단계에 바인딩하는 것이 좋습니다. 프로젝트는 번들 패키징을 사용하며 프로젝트 자체는 bootBundles 요소 내부에 나열하여 Karaf 컨테이너에 설치됩니다.

참고

시작 단계에서 karaf 프레임워크 기능과 같은 필요한 요소만 포함합니다. etc/startup.properties 에 들어갈 것이며 이 단계에서는 karaf 기능 서비스가 완전히 시작되지 않습니다. 부팅 단계의 다른 요소를 지연시킵니다.

예제

다음 예제는 빠른 시작에 일반적인 Maven 구성을 표시합니다.

<plugin>
  <groupId>org.jboss.redhat-fuse</groupId>
  <artifactId>karaf-maven-plugin</artifactId>
  <version>${fuse.version}</version>
  <extensions>true</extensions>
  <executions>
    <execution>
      <id>karaf-assembly</id>
      <goals>
        <goal>assembly</goal>
      </goals>
      <phase>install</phase>
    </execution>
  </executions>
  <configuration>

    <karafVersion>{karafMavenPluginVersion}</karafVersion>
    <useReferenceUrls>true</useReferenceUrls>
    <archiveTarGz>false</archiveTarGz>
    <includeBuildOutputDirectory>false</includeBuildOutputDirectory>
    <startupFeatures>
      <feature>karaf-framework</feature>
            </startupFeatures>
            <bootFeatures>
      <feature>shell</feature>
      <feature>jaas</feature>
      <feature>aries-blueprint</feature>
      <feature>camel-blueprint</feature>
      <feature>fabric8-karaf-blueprint</feature>
      <feature>fabric8-karaf-checks</feature>
    </bootFeatures>
    <bootBundles>
      <bundle>mvn:${project.groupId}/${project.artifactId}/${project.version}</bundle>
    </bootBundles>
  </configuration>
</plugin>
Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat