2

Vaadin プロジェクトと外部 Java プロジェクトがあります。Vaadin から外部プロジェクトのコードを呼び出したいです。私は両方のプロジェクトを Eclipse にインポートしており、Vaadin プロジェクトは Eclipse の外部プロジェクトを参照していますJava Build Path。Eclipse はエラーを報告しませんが、Vaadin アプリケーションを (を使用してProject > Run As > Run on Server) Tomcat にデプロイすると、次のエラーが発生します。

HTTP Status 500 - java.lang.NoClassDefFoundError: com/example/MyClass

Vaadin プロジェクトは、Maven ではなく Ivy に基づいていることに注意してください。

Vaadin の外部プロジェクトの依存関係を探してみましたが、成功しませんでした。Vaadin からの外部プロジェクトのコードの使用方法に関する提案に感謝します。

4

3 に答える 3

1

依存関係を直接展開する別のソリューションWEB-INF/libは、次のとおりです。

- 外部プロジェクトを にProject / Java Build Path / Projects
追加します - 外部プロジェクト ライブラリ (ここでは Maven と想定) を に追加します をProject / Java Build Path / Libraries
クリックしAdd Variable / M2_REPO 、 をクリックしExtendて適切なライブラリを選択します。
多くのライブラリに依存している場合、この部分は苦痛になる可能性があります。
- 外部プロジェクトと Java ビルド パスのエントリをProject / Deployment Assemblyパネルに追加します。
- Tomcat インスタンスを再起動します。

WEB-INF/lib次のディレクトリ の内容を確認します。
eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\your_ project\WEB-INF\lib

于 2014-12-12T18:39:07.127 に答える
0

外部プロジェクトを取得して、jar としてエクスポートします。次に、新しい jar とすべての依存関係を vaadin プロジェクトの WEB-INF/lib ディレクトリにコピーします。これは、展開環境だけでなく開発環境でも機能します。

于 2015-02-19T06:32:03.900 に答える