在Vaadin外部项目依赖(External project dependency in Vaadi

2019-09-03 09:44发布

我有一个Vaadin项目和外部的Java项目。 我想从Vaadin外部项目调用代码。 我有两个项目在Eclipse进口和Vaadin项目引用外部一个在Eclipse Java Build Path 。 Eclipse的报告没有错误,但是当我部署Vaadin应用到Tomcat(使用Project > Run As > Run on Server ),我收到以下错误:

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

需要注意的是Vaadin项目是基于常春藤,没有Maven的。

我试图寻找周围没有成功Vaadin外部项目的依赖。 我会感谢如何从Vaadin使用外部项目的代码的任何建议。

Answer 1:

解决的办法是外部项目添加到Eclipse中的Tomcat实例的类路径。 选择

Run > Run Configurations > Apache Tomcat > (your Tomcat instance) > Classpath

点击Add Projects...并添加所需的项目。

这将为开发工作。 对于部署,外部项目必须打包为一个库.jar文件和手动复制(或使用编译脚本),以WEB-INF/lib的Vaadin项目目录(见这个答案在Vaadin论坛)。



Answer 2:

这将直接在部署的依赖另一种解决方案WEB-INF/lib是:

-您的外部项目添加到Project / Java Build Path / Projects
-添加外部项目库(假设为Maven的在这里)的Project / Java Build Path / Libraries
点击Add Variable / M2_REPO并点击Extend选择合适的库。
如果你依赖于许多图书馆这一部分可能是痛苦的。
-添加在你的外部项目和Java构建路径条目Project / Deployment Assembly面板。
- 重新启动Tomcat实例。

Check the content of the WEB-INF/lib directory under:
eclipse-workspace.metadata.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\your_ project\WEB-INF\lib



Answer 3:

把你的外部项目并将其导出为一个罐子。 然后将您的新的jar和任何依赖到你vaadin项目的WEB-INF / lib目录下。 这将在部署工作,以及开发环境。



文章来源: External project dependency in Vaadin