2016-11-23 1 views
0

WebLogic 12.1.3에서 실행중인 응용 프로그램이 있으며 여기에 일부 JAX-RS 2.0 서비스를 추가하려고합니다. Maven을 사용하여 서버에 빌드하고 배포합니다 (weblogic-maven-plugin 사용). Maven을 사용하여 WebLogic 12.1.3에서 JAX-RS 2.0 응용 프로그램 빌드 및 배포 관련 문제

내가 여기에 주어진 단계를 따라 서버에서 JAX-RS 2.0을 설치하려면 다음

https://docs.oracle.com/middleware/1213/wls/RESTF/use-jersey20-ri.htm#RESTF297

모든 것이 잘 보인다. 설치 중에 오류나 경고가 없으며 WebLogic 관리 콘솔에 라이브러리가 표시됩니다.

하지만 그렇게되면 지금 "MVN이 새로 설치"나는이납니다 :

<Nov 23, 2016 2:39:00 PM CET> <Error> <J2EE> <BEA-160187> <weblogic.appc failed to compile the application. Recompile with the -verbose option for more details about the issue.> 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] BUILD FAILURE 
    [INFO] ------------------------------------------------------------------------ 
    [INFO] Total time: 26.655s 
    [INFO] Finished at: Wed Nov 23 14:28:21 CET 2016 
    [INFO] Final Memory: 65M/872M 
    [INFO] ------------------------------------------------------------------------ 
    [ERROR] Failed to execute goal com.oracle.weblogic:weblogic-maven-plugin:12.1.3-0-0:appc (wls-appc) on project our-awesome-app: weblogic.utils.compiler.ToolFailureException: Unresolved WebApp library references defined in weblogic.xml, of module 'our-awesome-app.war' [Extension-Name: jax-rs, Specification-Version: 2, Implementation-Version: 2.5.1, exact-match: false] 
    [ERROR] at weblogic.servlet.tools.WARModule.initWebAppLibraryManager(WARModule.java:449) 
    [ERROR] at weblogic.servlet.tools.WARModule.processLibraries(WARModule.java:492) 
    [ERROR] at weblogic.servlet.tools.WARModule.compile(WARModule.java:274) 
    [ERROR] at weblogic.application.compiler.ToolsModuleWrapper.compile(ToolsModuleWrapper.java:107) 
    (goes on and on...) 

을 BTW 자세한 내용을 렌더링하지 않습니다 "-verbose"옵션을 사용하여 컴파일.

저는 인터넷 검색과 StackOverflow를 최선을 다해 철저히 검색했지만이 문제에 대한 설명이나 해결책을 찾을 수없는 것 같습니다. 여기

은 (내가 믿는) 우리의 pom.xml의 관련 부분은 다음과 같습니다

<plugin> 
        <!-- This is the configuration for the weblogic-maven-plugin --> 
        <groupId>com.oracle.weblogic</groupId> 
        <artifactId>weblogic-maven-plugin</artifactId> 
        <version>12.1.3-0-0</version> 
        <configuration> 
         <middlewareHome>${wls-admin-middleware-home}</middlewareHome> 
         <adminurl>${wls-admin-url}</adminurl> 
         <user>${wls-admin-user}</user> 
         <password>${wls-admin-password}</password> 
         <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source> 
         <targets>${wls-admin-targets}</targets> 
         <name>${project.build.finalName}</name> 
         <domainHome>${wls-admin-domain-home}</domainHome> 
         <securityModel>DDOnly</securityModel> 
        </configuration> 
        <executions> 
         <execution> 
          <id>wls-appc</id> 
          <phase>package</phase> 
          <goals> 
           <goal>appc</goal> 
          </goals> 
          <configuration /> 
         </execution> 
         <execution> 
          <id>wls-wlst-start-server</id> 
          <phase>pre-integration-test</phase> 
          <goals> 
           <goal>start-server</goal> 
          </goals> 
          <configuration> 
          </configuration> 
         </execution> 
         <execution> 
          <id>wls-deploy</id> 
          <phase>pre-integration-test</phase> 
          <goals> 
           <goal>deploy</goal> 
          </goals> 
          <configuration> 
           <securityModel>DDOnly</securityModel> 
          </configuration> 
         </execution> 
         <execution> 
          <id>wls-start-app</id> 
          <phase>pre-integration-test</phase> 
          <goals> 
           <goal>start-app</goal> 
          </goals> 
          <configuration /> 
         </execution> 
        </executions> 
       </plugin> 
... 
<dependencies> 
     <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-api</artifactId> 
      <version>7.0</version> 
      <scope>provided</scope> 
     </dependency> 

이 우리의 weblogic.xml의에 있습니다

<wls:library-ref> 
     <wls:library-name>jax-rs</wls:library-name> 
     <wls:specification-version>2.0</wls:specification-version> 
     <wls:implementation-version>2.5.1</wls:implementation-version> 
    </wls:library-ref> 

내가 누구 경우 매우 감사 할 것 WebLogic에 대한 더 많은 경험과 지식이 나와 해결책을 제시 할 수 있습니다. 저는 이전에 JBoss와 Glassfish를 주로 사용 했었습니다. 애플리케이션 서버와 같은 것을 결코 경험하지 못했기 때문에 이것은 큰 골치 거리입니다.

답변

0

해결되었습니다. library-ref는 WEB-INF/weblogic.xml이 아닌 META-INF/weblogic-application.xml에 있습니다.

+1

weblogic.xml에는 버전 9.0부터 라이브러리 참조가 있습니다 https://docs.oracle.com/cd/E13222_01/wls/docs90/webapp/weblogic_xml.html#1060332 – devwebcl

0

wls-appc를 사용하여 전쟁을 미리 컴파일하려고 할 때 라이브러리 참조가 누락 되었기 때문에 이러한 현상이 발생합니다.

이러한 공유 라이브러리는 컴파일시 클래스 경로에 있어야합니다.

0

JAX-RS 2.0 라이브러리가 누락되었을 수 있습니다. 서버에 가서 새로운 Application/Library 설치를 클릭 한 다음 Oracle-> Middleware-> wlserver-> common-> deployable-libraries 경로를 선택하고 JAX-RS 2.0.war 라이브러리를 선택하십시오 . 저를 위해 일했습니다