【问题标题】:Vaadin cannot find java class from my own external libraryVaadin 无法从我自己的外部库中找到 java 类
【发布时间】:2022-01-17 14:52:50
【问题描述】:

我有一个公共项目,其中存储了我的大部分帮助类,因此我几乎可以将它们用于我所做的每个项目。

现在,我有我的 Vaadin 项目,流程版本 14,我想使用它。但是,当我将jar文件添加到库中时,找不到库中的类。

我以这种方式添加了 library-jar:File > Project Structure > Libraries > + > Java > Found the jar > Ok > Apply > Ok。

库被添加到外部库中。

当我将库添加到其他 java/maven 项目时,我没有问题。

这是一个示例代码:

if (notify) Utility.sendToUser(LangOut.get("eTokenBad"));

Utility 和 LangOut 都可以在库中找到。那行代码在我的 Vaadin 项目中不起作用,但它也适用于使用该库的任何其他项目。

错误被列为cannot find symbol:224。该行是 224。

我认为 Vaadin 有一个额外的步骤可以拾取它。

【问题讨论】:

  • 这应该与 Vaadin 无关。这个 Vaadin 项目不使用 Maven 吗?您在使用 Jigsaw(Java 9 模块)吗?
  • 嗨奥利弗,它确实使用了 Maven。据我所知,没有拼图。我怎样才能再次检查?我相信它使用的是 java 13。
  • 您有module-info.java 文件吗?

标签: java vaadin libraries


【解决方案1】:

这与 Vaadin 无关,而是如何使依赖项可用于 Maven。

使用 Maven,您有两种选择,具体取决于您是否可以访问 Nexus、Artifactory 等远程存储库。许多组织都在 Intranet 上提供了此功能。在这种情况下,您可以部署到该存储库。否则,您可以安装到本地~/.m2/repository (Linux/Mac)。 Windows 可能类似于 C:\Users\[username]\.m2\repository

本地 ~/.m2/repository
https://mkyong.com/maven/how-to-include-library-manully-into-maven-local-repository/

部署到您有权访问的远程工件
https://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html

【讨论】:

  • 这个link 显示了使用用户名/密码安装然后部署。
  • 好的,离我的错误更近了一步。我可以在第一个教程中使用 Kaptcha。但是我自己的 jar 文件在某种程度上是错误的。在我自己的 jar 的 mvn install 的输出中,它说“在 CommonMay-1.0.jar 中找不到 pom.xml”。我怀疑错误在那里?在我的项目中,我确实有一个 pom.xml 文件,所以可能工件制作是错误的。这样做的正确方法是什么?
  • 我现在用 'mvn package' 完成了它,它消除了 pom.xml 的错误,但它仍然在我的项目中找不到类。所以我仍然认为我在创建库时犯了一个错误。
  • 我只是在另一个项目中按照指南进行操作(只是一个 maven 项目,没有 spring-boot 或 vaadin)。在那个项目中,该指南运行良好。所以这个项目有一些特别的东西阻止它工作。
  • 应该没什么区别。 Maven 还是一样的。你做了“安装”还是“部署”?
猜你喜欢
  • 2017-12-11
  • 2012-01-04
  • 2011-11-11
  • 2012-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多