実行時に生成され、を使用してコンパイルされる Java クラスがいくつかあります。
JavaCompiler.CompilationTask
.
生成されたコードは、私のプロジェクトの Maven 依存関係である他のプロジェクトにあるクラスを参照します。ローカルではすべて正常に動作しますが、開発用 Tomcat サーバーにデプロイすると、大量のエラーが発生します。
"package xxx does not exist"
と
"cannot find symbol"
コンパイル タスクのエラー。Tomcat でデプロイされた webapp プロジェクトのWEB-INF/libディレクトリを確認したところ、プロジェクトの依存関係を含め、すべての jar がそこにありました。ディレクトリ内のすべてがWEB-INF/lib
実行時にTomcatプロジェクトで利用できるはずではありませんか?
編集: ここに私の context.xml があります:
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<Loader className="org.apache.catalina.loader.VirtualWebappLoader"
virtualClasspath="${catalina.home}/webapps/kdweb/WEB-INF/lib/acommons-0.0.1-SNAPSHOT.jar;${catalina.home}/webapps/kdweb/WEB-INF/lib/abizcommons-0.0.1-SNAPSHOT.jar;${catalina.home}/webapps/kdweb/WEB-INF/lib/kd_market_data-common-0.0.1-SNAPSHOT.jar;${catalina.home}/webapps/kdweb/WEB-INF/lib/aggregation-0.0.1-SNAPSHOT.jar;${catalina.home}/webapps/kdweb/WEB-INF/lib/apods-client-0.0.1-SNAPSHOT.jar;${catalina.home}/webapps/kdweb/WEB-INF/lib/framework-common-0.0.1-SNAPSHOT.jar" />
</Context>