2015-01-12 3 views
1

이 문서의 내용을 따르지 만 작동하지 않습니다. WildFly 8.2.0에서 Asciidoctorj가 작동하지 않습니다. 최종

module add \ 
--name=org.asciidoctor \ 
--resources=/tmp/asciidoctorj-1.5.2.jar,/tmp/jcommander-1.35.jar,/tmp/jruby-complete-1.7.16.1.jar \ 
--resource-delimiter=, \ 
--dependencies=javax.management.j2ee.api,javax.api 

가 그럼 난 Asciidoctor.Factory.create()를 호출하는 서블릿을 포함하는 간단한 WAR을 배치 :

http://asciidoctor.org/docs/asciidoctorj/#running-asciidoctorj-on-wildfly-as

첫째, 보스-CLI와 제이보스에 Asciidoctorj 모듈을 설치했습니다. 또한 나는 그것이 Dependencies: org.asciidoctorMANIFEST.MF에 반드시 포함되어 있는지 확인했다. whole project is available in my GitHub repo.

하지만 작동하지 않습니다. 뭐가 잘못 되었 니? WildFly에서 Asciidoctorj 작업을 한 사람이 있습니까?

내 환경은 다음과 같습니다

  • 제이보스 8.2.0.Final
  • Asciidoctorj 1.5.2
  • 오라클 JDK8u20

여기에 스택 트레이스가있다 :

2015-01-12 23:23:06,764 ERROR [io.undertow.request] (default task-3) UT005023: Exception handling request to /asciidoctortest-1.0-SNAPSHOT/: java.lang.NoClassDefFoundError: Could not initialize class org.asciidoctor.internal.JRubyAsciidoctor 
     at org.asciidoctor.Asciidoctor$Factory.create(Asciidoctor.java:647) [asciidoctorj-1.5.2.jar:1.5.2] 
     at asciidoctortest.MyServlet.doGet(MyServlet.java:17) [classes:] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [jboss-servlet-api_3.1_spec-1.0.0.Final.jar:1.0.0.Final] 
     at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) 
     at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) 
     at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166) [undertow-servlet-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759) [undertow-core-1.1.0.Final.jar:1.1.0.Final] 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_20] 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_20] 
     at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_20] 

답변

2

내가 놓친 선행 스택 추적과 내가 찾은 그것으로부터의 해결책. 일부 종속성이 누락 된 것 같습니다. 또한 나는 이상한 java.lang.NoClassDefFoundError: sun/misc/Unsafe를 가지고있다. 그러나 나는 또한 그것을 this conversation 다음과 같이 해결했다. 지금 내을 Module.xml은 다음과 같습니다

<?xml version="1.0" ?> 

<module xmlns="urn:jboss:module:1.1" name="org.asciidoctor"> 

    <resources> 
     <resource-root path="asciidoctorj-1.5.2.jar"/> 
     <resource-root path="jcommander-1.35.jar"/> 
     <resource-root path="jruby-complete-1.7.16.1.jar"/> 
    </resources> 

    <dependencies> 
     <module name="sun.jdk" export="true" > 
      <imports> 
       <include path="sun/misc/Unsafe" /> 
      </imports> 
     </module> 
     <module name="javax.management.j2ee.api"/> 
     <module name="javax.api"/> 
     <module name="org.slf4j"/> 
    </dependencies> 
</module> 
+0

https://github.com/asciidoctor/asciidoctorj/pull/269 : 내가 사랑하는 것

는 의견이있다. – LightGuard

0

나는 제이보스에 Asciidoctor을 실행하는 데 필요한 구성을 확인하기 위해 asciidoctor - 제이보스 - 고정 표시기라는 새 GitHub의 프로젝트를 만들었습니다. 이 프로젝트는 Docker 컨테이너로 테스트를 실행하고 Asciidoctor가 AsciiDoc 컨텐트를 HTML 및 PDF 출력으로 변환 할 수 있는지 확인합니다. 이 문제를 해결하기 위해 보내졌다 https://github.com/mgreau/asciidoctor-wildfly-docker

막심

관련 문제