2017-10-31 3 views
0

클라우드 허브에 인터페이스를 배포하는 중에 아래 오류가 발생합니다. 로컬 컴퓨터 응용 프로그램에서 성공적으로 배포되었습니다.WMQ 해결 방법 java.lang.ClassNotFoundException : com.ibm.mq.jms.MQConnectionFactory 오류?

WMQ에서 데이터를 폴링해야합니다. 오류는 그와 관련이있는 것 같습니다. 내 인터페이스는 maven 기반 인터페이스입니다. 클라우드 배포하는 동안 점점

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 

    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.katalystm</groupId> 
    <artifactId>apl-integration</artifactId> 
    <version>1.0.0-PRE</version> 
    <packaging>mule</packaging> 
    <name>Mule apl-integration Application</name> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 

     <mule.version>3.8.5</mule.version> 
     <mule.tools.version>1.1</mule.tools.version> 
    </properties> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.mule.tools.maven</groupId> 
       <artifactId>mule-app-maven-plugin</artifactId> 
       <version>${mule.tools.version}</version> 
       <extensions>true</extensions> 
       <configuration> 
        <copyToAppsDirectory>true</copyToAppsDirectory> 
       <inclusions> 
         <inclusion> 
          <groupId>org.mule.modules</groupId> 
          <artifactId>mule-module-objectstore</artifactId> 
         </inclusion> 
        <inclusion> 
          <groupId>com.mulesoft.muleesb.transports</groupId> 
          <artifactId>mule-transport-sap</artifactId> 
         </inclusion> 
        </inclusions> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.2.1</version> 
       <configuration> 
        <descriptorRefs> 
         <descriptorRef>project</descriptorRef> 
        </descriptorRefs> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>build-helper-maven-plugin</artifactId> 
       <version>1.7</version> 
       <executions> 
        <execution> 
         <id>add-resource</id> 
         <phase>generate-resources</phase> 
         <goals> 
          <goal>add-resource</goal> 
         </goals> 
         <configuration> 
          <resources> 
           <resource> 
            <directory>src/main/app/</directory> 
           </resource> 
           <resource> 
            <directory>mappings/</directory> 
           </resource> 
          <resource> 
            <directory>src/main/api/</directory> 
           </resource> 
          </resources> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

    <!-- Mule Dependencies --> 
    <dependencies> 
     <!-- Xml configuration --> 
     <dependency> 
      <groupId>com.mulesoft.muleesb</groupId> 
      <artifactId>mule-core-ee</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <!-- Xml configuration --> 
     <dependency> 
      <groupId>com.mulesoft.muleesb.modules</groupId> 
      <artifactId>mule-module-spring-config-ee</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <!-- Mule Transports --> 
     <dependency> 
      <groupId>org.mule.transports</groupId> 
      <artifactId>mule-transport-file</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.mule.transports</groupId> 
      <artifactId>mule-transport-http</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.mulesoft.muleesb.transports</groupId> 
      <artifactId>mule-transport-jdbc-ee</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.mulesoft.muleesb.transports</groupId> 
      <artifactId>mule-transport-jms-ee</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.mule.transports</groupId> 
      <artifactId>mule-transport-vm</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <!-- Mule Modules --> 
     <dependency> 
      <groupId>org.mule.modules</groupId> 
      <artifactId>mule-module-scripting</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.mule.modules</groupId> 
      <artifactId>mule-module-xml</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <!-- for testing --> 
     <dependency> 
      <groupId>org.mule.tests</groupId> 
      <artifactId>mule-tests-functional</artifactId> 
      <version>${mule.version}</version> 
      <scope>test</scope> 
     </dependency> 
    <dependency> 
      <groupId>com.mulesoft.muleesb.transports</groupId> 
      <artifactId>mule-transport-wmq-ee</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
    <dependency> 
      <groupId>org.mule.modules</groupId> 
      <artifactId>mule-module-spring-config</artifactId> 
      <version>${mule.version}</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.sap.conn.jco</groupId> 
      <artifactId>sapjco3</artifactId> 
      <version>3.0.14</version> 
     </dependency> 
     <dependency> 
      <groupId>com.sap.conn.idoc</groupId> 
      <artifactId>sapidoc3</artifactId> 
      <version>3.0.12</version> 
     </dependency> 
     <dependency> 
      <groupId>org.mule.modules</groupId> 
      <artifactId>mule-module-objectstore</artifactId> 
      <version>2.1.0</version> 
     </dependency> 
     <dependency> 
      <groupId>com.mulesoft.muleesb.transports</groupId> 
      <artifactId>mule-transport-sap</artifactId> 
      <version>3.1.1</version> 
     </dependency> 
    </dependencies> 

    <repositories> 
     <repository> 
     <id>Central</id> 
     <name>Central</name> 
     <url>http://repo1.maven.org/maven2/</url> 
     <layout>default</layout> 
    </repository> 
    <repository> 
     <id>codehaus-mule-repo</id> 
     <name>codehaus-mule-repo</name> 
     <url>https://repository-master.mulesoft.org/nexus/content/groups/public/</url> 
     <layout>default</layout> 
    </repository> 
    <repository> 
     <id>mulesoft-releases</id> 
     <name>MuleSoft Releases Repository</name> 
     <url>http://repository.mulesoft.org/releases/</url> 
     <layout>default</layout> 
    </repository> 
    <repository> 
     <id>mulesoft-snapshots</id> 
     <name>MuleSoft Snapshots Repository</name> 
     <url>http://repository.mulesoft.org/snapshots/</url> 
     <layout>default</layout> 
    </repository> 
    <repository> 
      <id>mule-ee-releases</id> 
      <name>MuleEE Releases Repository</name> 
      <url>https://repository-master.mulesoft.org/nexus/content/repositories/releases-ee/</url> 
     </repository> 
    </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>mulesoft-release</id> 
      <name>mulesoft release repository</name> 
      <layout>default</layout> 
      <url>http://repository.mulesoft.org/releases/</url> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </pluginRepository> 
    </pluginRepositories> 

</project> 

PFB 오류 메시지 :

내가 추가 한 모든 경로를 아래와 같이

Build path Jar files

내 POM 파일보기를 구축하기 위해 항아리를 요구 WMQ.

null 
java.lang.ClassNotFoundException: com.ibm.mq.jms.MQConnectionFactory 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at org.mule.module.launcher.FineGrainedControlClassLoader.findClass(FineGrainedControlClassLoader.java:181) 
    at org.mule.module.launcher.MuleApplicationClassLoader.findClass(MuleApplicationClassLoader.java:138) 
    at org.mule.module.launcher.FineGrainedControlClassLoader.loadClass(FineGrainedControlClassLoader.java:117) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at com.mulesoft.mule.transport.wmq.WebSphereMQConnector.<clinit>(WebSphereMQConnector.java:39) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
    at org.apache.commons.lang.ClassUtils.getClass(ClassUtils.java:629) 
    at org.apache.commons.lang.ClassUtils.getClass(ClassUtils.java:677) 
    at org.apache.commons.lang.ClassUtils.getClass(ClassUtils.java:660) 
    at org.mule.config.spring.parsers.assembly.DefaultBeanAssembler.methodExists(DefaultBeanAssembler.java:564) 
    at org.mule.config.spring.parsers.assembly.DefaultBeanAssembler.bestGuessName(DefaultBeanAssembler.java:533) 
    at org.mule.config.spring.parsers.assembly.DefaultBeanAssembler.extendBean(DefaultBeanAssembler.java:112) 
    at org.mule.config.spring.parsers.AbstractMuleBeanDefinitionParser.processProperty(AbstractMuleBeanDefinitionParser.java:211) 
    at org.mule.config.spring.parsers.AbstractMuleBeanDefinitionParser.doParse(AbstractMuleBeanDefinitionParser.java:422) 
    at org.mule.config.spring.parsers.AbstractMuleBeanDefinitionParser.parseInternal(AbstractMuleBeanDefinitionParser.java:297) 
    at org.mule.config.spring.parsers.generic.MuleOrphanDefinitionParser.parseInternal(MuleOrphanDefinitionParser.java:38) 
    at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:61) 

답변

0

모든 관련 JAR을 로컬 환경 (IDE 빌드 경로)에 추가했지만 JAR은 응용 프로그램과 함께 패키지되지 않으므로 배포시 CloudHub에서 사용할 수 없으므로 오류가 발생합니다. CloudHub documentation에서 언급했듯이 타사 JAR이 앱 패키지의 /lib 폴더에 저장되어 있는지 확인해야합니다.

난 당신이 따라서 귀하의 JAR 파일이 (당신이 그들은 자동으로 M2_REPO/아래에 추가 될 것입니다, 당신의 IDE의 클래스 경로에서 제거 할 수 뮬 응용 프로그램 아카이브에 메이븐으로 /lib 폴더를 포함됩니다, 메이븐 <dependency> 모든 필요한 JAR 파일을 추가하는 것이 좋습니다. ..). mqjms 예를 들어 :

<dependency> 
    <groupId>com.ibm</groupId> 
    <artifactId>com.ibm.mqjms</artifactId> 
    <version>5.3.07</version> 
</dependency> 

까다로운 부분은 JAR 파일 (IBM libs와)의 대부분이 독점 공개 메이븐 저장소에서 사용할 수없는 것입니다.

  • 귀하와 귀하의 팀원이 자신의 팀원을 사용할 수 있도록 자신의 Entreprise Repo에서 가능한지 확인하십시오. Guide to deploying 3rd party JARs to remote repository을 참조하십시오. (참고 : 이러한 JAR에 대한 라이센스를 알지 못한다면 배포가 허용되지 않을 수도 있습니다)
  • 개인 entreprise repo를 사용할 수없는 경우 로컬 저장소에 이러한 JAR을 설치하기 만하면됩니다. Guide to installing 3rd party JARs

를 참조하십시오 당신은 수동으로 또는 다른 방법을 사용하여 추가 할 수있을,이 JAR 파일은 응용 프로그램 /lib 폴더에 CloudHub에 배포에 해당되는 중요한 것은.

관련 문제