Jboss iText ClassNotFound异常

Jboss iText ClassNotFound异常,jboss,itext,acrobat,classnotfoundexception,Jboss,Itext,Acrobat,Classnotfoundexception,我正在使用iText库处理Acrobat表单。servlet编译时没有任何错误。我导入了iText的外部jar文件。编译之后,我打包并准备了一个可执行的.war文件(Main.war),并将其粘贴到jboss的deploy文件夹中。然而,在执行时,我得到一个ClassNotFoundException错误 这是堆栈跟踪 java.lang.ClassNotFoundException: com.itextpdf.text.DocumentException from BaseClassL

我正在使用iText库处理Acrobat表单。servlet编译时没有任何错误。我导入了iText的外部jar文件。编译之后,我打包并准备了一个可执行的.war文件(Main.war),并将其粘贴到jboss的deploy文件夹中。然而,在执行时,我得到一个ClassNotFoundException错误

这是堆栈跟踪

    java.lang.ClassNotFoundException: com.itextpdf.text.DocumentException from BaseClassLoader@955d1c{VFSClassLoaderPolicy@13ed0e{name=vfszip:/E:/jboss-5.0.1.GA/server/default/deploy/Main.war/ domain=Clas
sLoaderDomain@1074641{name=vfszip:/E:/jboss-5.0.1.GA/server/default/deploy/Main.war/ parentPolicy=AFTER_BUT_JAVA_BEFORE parent=ClassLoaderDomain@dc9766{DefaultDomain}} roots=[MemoryContextHandler@3161
723[path= context=vfsmemory://5c4o12z-o9ytfs-grndwcq5-1-grndwom8-1y real=vfsmemory://5c4o12z-o9ytfs-grndwcq5-1-grndwom8-1y], ZipEntryHandler@22421558[path=Main.war/WEB-INF/classes context=file:/E:/jbo
ss-5.0.1.GA/server/default/deploy/ real=file:/E:/jboss-5.0.1.GA/server/default/deploy/Main.war/WEB-INF/classes]]  delegates=null exported=[] <IMPORT-ALL>NON_EMPTY}}
        at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:422)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
        at java.lang.Class.getConstructor0(Class.java:2699)
        at java.lang.Class.newInstance0(Class.java:326)
        at java.lang.Class.newInstance(Class.java:308)
        at org.jboss.web.tomcat.service.TomcatInjectionContainer.newInstance(TomcatInjectionContainer.java:258)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1006)
        at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:777)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
        at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
        at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:601)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
谁能告诉我有什么问题吗?????这是急件


Sameer看起来像是会抛出DocumentException,但JBoss找不到相应的类

  • 您确定iText.jar与您的webapp一起打包了吗?也许可以查看一下您正在部署的.WAR文件,并检查iText库是否在其中
  • 如果没有(或者您不想),请确保将其放在JBoss的lib文件夹中。在
    /jboss-as/lib/
    /jboss-as/server/default/lib/
编辑: 您的JAR的结构应该是这样的

.
|-- index.html
|-- META-INF
|   `-- MANIFEST.MF
|   
`-- WEB-INF
    |-- classes
    |   `-- <your code is here>
    |
    `-- lib
        `-- <here are your packaged .jar files>
。
|--index.html
|--META-INF
|`--MANIFEST.MF
|   
`--WEB-INF
|--班级
|   `-- 
|
`--解放党
`-- 

[请注意,这是简化的,不会显示所有文件…]

Hi。。。我没有将iText jar文件与类和xml文件一起打包。我应该怎么做?您正在将应用程序部署为.WAR存档,对吗?如果是这样,iText library.JAR应该进入
/WEB-INF/lib/
.
|-- index.html
|-- META-INF
|   `-- MANIFEST.MF
|   
`-- WEB-INF
    |-- classes
    |   `-- <your code is here>
    |
    `-- lib
        `-- <here are your packaged .jar files>