将 Maven 项目导入 IntelliJ 2019.3 后,捆绑的 classes 不在 class 路径上

After importing a Maven project into IntelliJ 2019.3, the bundled classes are not on class path

在导入新创建的 Vaadin 14.0.x 项目并使用 Import Project 功能在 IntelliJ 2019.3 EAP 中创建 Maven 驱动的项目后,我收到一条消息说 "Cannot resolving symbol".错误消息为我提供了 "Add library … to classpath" 的按钮。但是必要的库已经作为依赖项由 Maven 加载。所以这没有意义。

我重试了 3 次导入。每次我都打开另一个项目到 运行 File > Invalidate Caches / Restart 菜单项。此操作避免已知的 IntelliJ bugs/anti-features 创建与已删除项目同名的新项目。

最终我尝试使用“欢迎使用 IntelliJ IDEA` 面板的 Open 功能。令人惊讶的是,没有这样的问题。所有 类 都被 IntelliJ 代码编辑器识别。

奇怪,因为我每次打开由 Getting Started with Vaadin 页面创建的原始项目的全新解压缩副本。在 IntelliJ 中使用 OpenImport Project 之间存在一些主要区别。

最好的建议是 "dont use the Import Project" 功能。它总是有点问题/麻烦 ;)

只需签出您的项目,然后在 IntelliJ 中打开项目的根文件夹(包含父文件夹 pom.xml)。

顺便说一句,在从 git 签出后,"Would you like to open this project in IntelliJ?" 过去也有过错误。作为习惯,我回答 "no" 这个问题并使用 File -> Open 手动打开新项目。

避免 Create project from existing sources 选项

我怀疑当您选择 Import Project 路线时,您接受了结果对话框中的默认选项。 不要使用该选项。

该选项 Create project from existing sources 在您的情况下会失败。 documentation for that dialog 不幸的是没有解释第一项。但是选项似乎需要一个完整的项目文件夹。显然,你的不是。

使用Import project from external model选项

而是选择第二个选项,Import project from external model。 Select Maven 从列表中,在你的情况下,对于 Vaadin 14 项目。

请注意,使用此选项时,您会经历一系列 Wizard 风格的对话框。而对于第一个选项,您直接打开了项目。

使用第二个选项并完成一系列对话框,将生成一个可操作的 Vaadin 14 项目。