289.2. 필요한 SAP Libraries 설치


289.2.1. Fuse OSGi 컨테이너에 배포

다음과 같이 SAP JCo 라이브러리와 SAP IDoc 라이브러리를 JBoss Fuse OSGi 컨테이너에 설치할 수 있습니다.

  1. SAP JCo 라이브러리와 SAP IDoc 라이브러리(http://service.sap.com/public/connectors)를 다운로드하여 운영 체제에 적합한 라이브러리 버전을 선택해야 합니다.

    참고

    이러한 라이브러리를 다운로드하고 사용하려면 SAP 서비스 마켓플레이스 계정이 있어야 합니다.

  2. sapjco3.jar,libsapjco3.so (또는 Windows의 sapjco3. gradle) 및 sapidoc3.jar 라이브러리 파일을 Fuse 설치의 lib/ 디렉토리에 복사합니다.
  3. 텍스트 편집기에서 구성 속성 파일 등/config.properties 파일과 사용자 지정 속성 파일 등을 모두 엽니다. etc/config.properties 파일에서 org.osgi.framework.system.packages.extra 속성을 찾고 전체 속성 설정을 복사합니다(이 설정은 백슬래시 문자 \, 줄 연속을 나타내는 데 사용되는 여러 행을 통해 확장됨). 이제 이 설정을 etc/custom.properties 파일에 붙여넣습니다.

    이제 SAP 라이브러리를 지원하는 데 필요한 추가 패키지를 추가할 수 있습니다. etc/custom.properties 파일에서 다음과 같이 org.osgi.framework.system.packages.extra 설정에 필요한 패키지를 추가합니다.

    org.osgi.framework.system.packages.extra  \
     ... , \
     com.sap.conn.idoc, \
     com.sap.conn.idoc.jco, \
     com.sap.conn.jco, \
     com.sap.conn.jco.ext, \
     com.sap.conn.jco.monitor, \
     com.sap.conn.jco.rt, \
     com.sap.conn.jco.server

    새 항목 앞의 각 줄 끝에 쉼표와 백슬래시( , \ )를 포함시켜 목록이 올바르게 계속되도록 하는 것을 잊어 버립니다.

  4. 이러한 변경 사항을 적용하려면 컨테이너를 다시 시작합니다.
  5. 컨테이너에 camel-sap 기능을 설치합니다. Karaf 콘솔에서 다음 명령을 입력합니다.

    JBossFuse:karaf@root> features:install camel-sap

289.2.2. JBoss EAP 컨테이너에 배포

JBoss EAP 컨테이너에 SAP 구성 요소를 배포하려면 다음 단계를 수행합니다.

  1. SAP JCo 라이브러리와 SAP IDoc 라이브러리(http://service.sap.com/public/connectors)를 다운로드하여 운영 체제에 적합한 라이브러리 버전을 선택해야 합니다.

    참고

    이러한 라이브러리를 다운로드하고 사용하려면 SAP 서비스 마켓플레이스 계정이 있어야 합니다.

  2. JCo 라이브러리 파일과 IDoc 라이브러리 파일을 JBoss EAP 설치를 위한 하위 디렉터리에 복사합니다.

    중요

    이름 지정 규칙을 따릅니다.

    네이티브 라이브러리는 < osname>-<cpuname> 형식으로 이름 지정 표준을 따르는 하위 디렉터리에 설치해야 합니다.

    제공된 정보 및 허용된 이름 전체 목록은 JBoss 모듈 설명서 에서 확인할 수 있습니다.

    예를 들어 호스트 플랫폼이 64비트 Linux(linux-x86_64)인 경우 다음과 같이 라이브러리 파일을 설치합니다.

    예제

    cp sapjco3.jar sapidoc3.jar $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/
    mkdir -p $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/lib/linux-x86_64
    cp libsapjco3.so $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/lib/linux-x86_64/

  3. $JBOSS_HOME/modules/system/layers/fuse/org/wildfly/camel/extras/main/module.xml 이라는 새 파일을 생성하고 다음 콘텐츠를 추가합니다.

    <?xml version="1.0" encoding="UTF-8"?>
    <module xmlns="urn:jboss:module:1.1" name="org.wildfly.camel.extras">
    
    	<dependencies>
    		<module name="org.fusesource.camel.component.sap" export="true" services="export" />
    	</dependencies>
    
    </module>

289.2.3. Spring Boot 및 OpenShift Container Platform에 배포

maven-resourcesmaven-jar 플러그인을 사용하여 Maven으로 프로젝트에 SAP를 배포하려면 다음 단계를 따르십시오.

  1. 라이브러리 다운로드
  2. 종속 항목 추가
  3. 프로젝트에 라이브러리 배치
  4. 라이브러리에 대한 구성 추가
  5. OpenShift에 배포

289.2.3.1. 라이브러리 다운로드

세 개의 라이브러리가 필요합니다.

  • 모든 환경에 대한 공통 라이브러리:

    • sapidoc3.jar
  • 아키텍처용 라이브러리:

    • sapjco3.jar
    • sapjco3.so

      자세한 내용은 SAP Java Connector 설명서를 참조하십시오.

  1. SAP JCo 라이브러리와 SAP IDoc 라이브러리(http://service.sap.com/public/connectors)를 다운로드하여 운영 체제에 적합한 라이브러리 버전을 선택해야 합니다.

    참고

    이러한 라이브러리를 다운로드하고 사용하려면 SAP 서비스 마켓플레이스 계정이 있어야 합니다.

289.2.3.2. 종속 항목 추가

  1. Maven 사용자는 이 구성 요소를 사용하려면 다음 종속성을 pom.xml 파일에 추가해야 합니다.
<dependency>
	<groupId>org.fusesource</groupId>
	<artifactId>camel-sap-starter</artifactId>
	<exclusions>
		<exclusion>
			<groupId>com.sap.conn.idoc</groupId>
			<artifactId>sapidoc3</artifactId>
		</exclusion>
		<exclusion>
			<groupId>com.sap.conn.jco</groupId>
			<artifactId>sapjco3</artifactId>
		</exclusion>
	</exclusions>
</dependency>

289.2.3.3. 라이브러리 배치

  1. pom.xml에 상대적인 lib 디렉토리에 SAP 라이브러리 파일을 복사합니다.

    Maven을 실행하면 pom.xml 의 지침에 따라 파일을 지정된 위치에 복사합니다.

    예: AMD64

    src
    └── lib
        └── amd64.com.sap.conn
            ├── idoc
            │     └── sapidoc3.jar
            └── jco
                ├── sapjco3.jar
                └── sapjco3.so

    주의

    사용자 정의 Maven 리포지토리에 SAP 라이브러리 파일을 추가하지 마십시오.

    SAP Java Connector는 JAR 파일 sapjco3.jarsapidoc3.jar 에서 유효성 검사를 수행합니다.

    JAR 파일을 Maven 리포지토리에 복사하는 경우 spring-boot-maven-plugin 은 버전 번호를 추가하여 해당 파일의 이름을 변경합니다.

    이로 인해 검증이 실패하여 애플리케이션이 제대로 배포되지 않습니다.

289.2.3.4. 플러그인 구성

  1. Spring -boot-maven-plugin 아래에 pom.xml 에 maven 구성을 추가합니다.

    maven-jar-plugin 을 추가하고 Class-Path 항목을 lib 폴더 위치로 설정합니다.

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifestEntries>
                        <Class-Path>lib/${os.arch}/sapjco3.jar lib/${os.arch}/sapidoc3.jar</Class-Path>
                    </manifestEntries>
                </archive>
            </configuration>
        </plugin>

    이렇게 하면 필요한 아티팩트에 대해 올바른 구조를 생성하고 SAP 라이브러리가 필요한 대상 디렉터리에 배포되도록 합니다.

  2. pom.xmlmaven-resources-plugin 을 사용하여 라이브러리를 복사합니다.

         <plugin>
           <artifactId>maven-resources-plugin</artifactId>
           <executions>
              <execution>
                 <id>copy-resources01</id>
                 <phase>process-classes</phase>
                 <goals>
                    <goal>copy-resources</goal>
                 </goals>
                 <configuration>
                    <outputDirectory>${basedir}/target/lib</outputDirectory>
                    <encoding>UTF-8</encoding>
                    <resources>
                       <resource>
                          <directory>${basedir}/lib</directory>
                          <includes>
                             <include>**/**</include>
                          </includes>
                       </resource>
                    </resources>
                 </configuration>
              </execution>
           </executions>
        </plugin>

    이는 'oc 명령을 실행할 때 relative lib 에서 target/lib에 libraries 디렉토리를 복사합니다.

289.2.3.5. Openshift에 배포

OpenShift에 배포하고 Maven 빌드를 트리거하려면 다음 단계를 완료합니다.

  1. oc 를 실행하여 빌드를 생성하고 구성합니다.

    oc new-build --binary=true
     --image-stream="<current_Fuse_Java_OpenShift_Imagestream_version>"
     --name=<application_name>
     -e  "ARTIFACT_COPY_ARGS=-a ."
     -e "MAVEN_ARGS_APPEND=<additional_args>
     -e "ARTIFACT_DIR=<relative_path_of_target_directory>"

    필요에 따라 값을 바꿉니다.

    • <current_Fuse_Java_OpenShift_Imagestream_version > : 현재 이미지 스트림
    • <application_name > : 선택한 애플리케이션 이름입니다.
    • <additional_args& gt; : maven에 추가할 인수입니다.
    • <relative_path_of_target_directory > : 대상 앱의 상대 경로

      예제

      이 예에서 MAVEN_ARGS_APPEND 는 Spring-boot 디렉토리에서 특정 프로젝트만 빌드하도록 지정합니다.

      oc new-build --binary=true --image-stream="fuse7-java-openshift:1.4"
      --name=sapik6 -e  "ARTIFACT_COPY_ARGS=-a ." -e "MAVEN_ARGS_APPEND=-pl spring-boot/sap-srfc-destination-spring-boot" -e "ARTIFACT_DIR=spring-boot/sap-srfc-destination-spring-boot/target"
  2. 빌드 시작(Multimodule 상위 디렉터리에서)

    oc start-build sapik6 --from-dir=.

    이렇게 하면 maven 빌드가 실행되는 OpenShift로 로컬 호스트에서 소스가 전송됩니다.

  3. 앱 시작

    oc new-app --image-stream=<name>:<version>

    예제

    oc new-app --image-stream=sapik6:latest

289.2.4. JKube를 사용하여 Spring Boot 및 OpenShift Container Platform에 배포

openshift-maven-plugin 플러그인을 사용하여 JKube 를 사용하여 프로젝트에 SAP를 배포하려면 다음 단계를 따르십시오.

  1. 커넥터를 프로젝트의 lib 디렉터리에 배치합니다.

    예: AMD64

    src
    └── lib
        └── amd64.com.sap.conn
            ├── idoc
            │     └── sapidoc3.jar
            └── jco
                ├── sapjco3.jar
                └── sapjco3.so

    주의

    사용자 정의 Maven 리포지토리에 SAP 라이브러리 파일을 추가하지 마십시오.

    SAP Java Connector는 JAR 파일 sapjco3.jarsapidoc3.jar 에서 유효성 검사를 수행합니다.

    JAR 파일을 Maven 리포지토리에 복사하는 경우 spring-boot-maven-plugin 은 버전 번호를 추가하여 해당 파일의 이름을 변경합니다.

    이로 인해 검증이 실패하여 애플리케이션이 제대로 배포되지 않습니다.

  2. pom.xml 의 시작 도구에서 내장 커넥터를 제외 :

    <dependency>
       <groupId>org.fusesource</groupId>
       <artifactId>camel-sap-starter</artifactId>
       <exclusions>
          <exclusion>
             <groupId>com.sap.conn.idoc</groupId>
             <artifactId>sapidoc3</artifactId>
          </exclusion>
          <exclusion>
             <groupId>com.sap.conn.jco</groupId>
             <artifactId>sapjco3</artifactId>
          </exclusion>
       </exclusions>
    </dependency>
  3. pom.xml 에서 로컬 커넥터를 정적 리소스로 정의합니다.

    <resources>
       <resource>
          <directory>src/lib/${os.arch}/com/sap/conn/idoc</directory>
          <targetPath>BOOT-INF/lib</targetPath>
          <includes>
             <include>*.jar</include>
          </includes>
       </resource>
       <resource>
          <directory>src/lib/${os.arch}/com/sap/conn/jco</directory>
          <targetPath>BOOT-INF/lib</targetPath>
          <includes>
             <include>*.jar</include>
          </includes>
       </resource>
    </resources>
  4. pom.xml 에서 커넥터 경로를 지정하여 리소스 및 배포 구성을 구성합니다.

    <plugin>
       <groupId>org.eclipse.jkube</groupId>
       <artifactId>openshift-maven-plugin</artifactId>
       <version>1.4.0</version>
       <configuration>
          <images>
             <image>
                <name>${project.artifactId}:${project.version}</name>
                <build>
                   <from>${java.docker.image}</from>
                   <assembly>
                      <targetDir>/deployments</targetDir>
                      <layers>
                         <layer>
                            <id>static-files</id>
                            <fileSets>
                               <fileSet>
                                  <directory>src/lib/${os.arch}/com/sap/conn/jco</directory>
                                  <outputDirectory>static</outputDirectory>
                                  <includes>
                                     <include>*.so</include>
                                  </includes>
                               </fileSet>
                            </fileSets>
                         </layer>
                      </layers>
                   </assembly>
                </build>
             </image>
          </images>
       </configuration>
       <executions>
          <execution>
             <goals>
                <goal>resource</goal>
                <goal>build</goal>
                <goal>apply</goal>
             </goals>
          </execution>
       </executions>
    </plugin>

289.2.4.1. Openshift에 배포

openshift-maven-pluginpom.xml 에 구성되면 fuse spring-boot 이미지를 애플리케이션의 빌더 이미지로 특정 네임스페이스로 가져올 수 있습니다.

  1. 애플리케이션 경로에서 시작합니다.

    cd <sap_application_path>
  2. 프로젝트 스트림을 생성합니다.

    oc new-project streams
  3. 이미지 스트림을 가져옵니다.

    oc import-image streams/fuse7-java-openshift:1.11 --from=registry.redhat.io/fuse7/fuse-java-openshift-rhel8:1.11-32 --confirm -n streams (JDK8)
  4. 프로젝트 생성

    oc new-project <your_project>
  5. maven을 사용하여 애플리케이션을 배포합니다.

    mvn clean oc:deploy -Djkube.docker.imagePullPolicy=Always -Popenshift -Djkube.generator.from=streams/fuse7-java-openshift:1.11 -Djkube.resourceDir=./src/main/jkube -Djkube.openshiftManifest=target/classes/META-INF/jkube/openshift.yml -Djkube.generator.fromMode=istag
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동