2017-08-29 36 views
0

我想部署我kjar到KIE執行服務器,但得到的異常,同時創造一個求解「taskPlanningSolver」在URL中使用PUT:異常創建求解

http://localhost:8080/kie-server/services/rest/server/containers/taskplanning1/solvers/taskPlanningSolver 

這是我有:

答:我有一個運行在tomcat(windows)上的KIE執行服務器。它支持BRMS和BPM。
B.我有一個maven項目(使用optaplanner),它安裝到我的本地maven倉庫。

http://localhost:8080/kie-server/services/rest/server/containers/taskplanning1 

與身體:

<kie-container container-id="taskplanning1"> 
    <release-id> 
    <group-id>com.kairos.planning</group-id> 
    <artifact-id>task-planning</artifact-id> 
    <version>1.0.1-SNAPSHOT</version> 
    </release-id> 
</kie-container> 

我需要建立一個求解幫助其拋出異常:

"Unexpected error during processing: sun.reflect.annotation.TypeNotPresentExceptionProxy" 

C.我成功地使用在PUT創建一個容器中KIE服務器

注: 我確實有安裝在行家回購罐子kmodule.xml和其內部META-INF和我t的內容是:

2017-08-30 11:56:07,977 ERROR [org.kie.server.remote.rest.optaplanner.SolverResource] (default task-3) Unexpected error creating solver 'taskPlanningSolver' on container 'taskplanning2': sun.reflect.annotation.TypeNotPresentExceptionProxy: java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy 
at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:724) 
at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:531) 
at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:355) 
at sun.reflect.annotation.AnnotationParser.parseAnnotation2(AnnotationParser.java:286) 
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:120) 
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:72) 
at java.lang.Class.createAnnotationData(Class.java:3521) 
at java.lang.Class.annotationData(Class.java:3510) 
at java.lang.Class.getAnnotation(Class.java:3415) 
at com.thoughtworks.xstream.mapper.AnnotationMapper$UnprocessedTypesSet.add(AnnotationMapper.java:614) 
at com.thoughtworks.xstream.mapper.AnnotationMapper$UnprocessedTypesSet.add(AnnotationMapper.java:599) 
at com.thoughtworks.xstream.mapper.AnnotationMapper.processAnnotations(AnnotationMapper.java:162) 
at com.thoughtworks.xstream.XStream.processAnnotations(XStream.java:2036) 
at com.thoughtworks.xstream.XStream.processAnnotations(XStream.java:2047) 
at org.kie.server.api.marshalling.xstream.XStreamMarshaller.configureMarshaller(XStreamMarshaller.java:186) 
at org.kie.server.api.marshalling.xstream.XStreamMarshaller.<init>(XStreamMarshaller.java:103) 
at org.kie.server.api.marshalling.BaseMarshallerBuilder.build(BaseMarshallerBuilder.java:37) 
at org.kie.server.api.marshalling.MarshallerFactory.getMarshaller(MarshallerFactory.java:52) 
at org.kie.server.services.impl.KieContainerInstanceImpl.getMarshaller(KieContainerInstanceImpl.java:175) 

我也看到很多異常,而創建容器,但成功創建容器。所有的錯誤都是NoClassDefFoundError,即使我將所有的依賴關係添加到我的項目的pom中,我仍然得到一個導致NoClassDefFoundError的新類。

我還沒有一個很好的指導部署kjar到紀伊執行服務器。我將在成功測試它之後創建一個。如果可能的話請幫忙。提前致謝。

回答

1

的紀伊執行服務器已經optaplanner罐,它具有將永遠不會需要包括所有的日誌依賴的所有依賴。所以,你需要確保你的項目的pom沒有運行時依賴。您項目中所需的所有依賴關係應標記爲provided範圍,例如:

 <dependency> 
      <groupId>org.optaplanner</groupId> 
      <artifactId>optaplanner-persistence-common</artifactId> 
      <version>${version.optaplanner.bom}</version> 
      <scope>provided</scope> 
     </dependency>