私の Netbeans Java Web プロジェクトは BatchFb を使用しているため、Jackson を使用しています。jackson-mapper-asl と jackson-core-asl の jar を含めました。
残念ながら、のインスタンスを初期化しようとするとClassNotFound例外が発生するため、実行できませんFacebookBatcher
。VisibilityChecker
エクスプローラ ウィンドウにクラスが表示されていても、クラスが見つかりません。これが私が得る完全なスタックトレースです:
ago 11, 2013 12:46:55 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [FacebookServlet] in context with path [/Tesi] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.codehaus.jackson.map.introspect.VisibilityChecker
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at FacebookServlet.doGet(FacebookServlet.java:38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)
考えられるすべての手順を試しました: web-inf/lib フォルダーから jar を手動で削除して再度配置し、新しいプロジェクトを最初から作成し、クリーンアップして n 回ビルドしました。netbeans キャッシュを削除しても役に立ちませんでした。これはどれも私にとってはうまくいきませんでした。
VisibilityChecker$1.class
jar 内のコンパイル済みファイルを調べたところ、regular に依存して名前が付けられたクラスがあることに気付きましたVisibilityChecker.class
。ソースコードがないので開けません。これが原因かもしれないと思うのですが、どうしたらよいでしょうか?前もって感謝します。
EDIT:私のプロジェクトはTesi2という名前で、私のcontext.xmlファイルには次のものがあります:
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/Tesi2"/>
しかし、スタックコードで別のプロジェクトのクラスパスを参照していることに気付きました。("/Tesi")。私はこれを解決する方法についてかなり混乱しています。