当前位置: 首页 > 知识库问答 >
问题:

无法解析符号“断言”

杨甫
2023-03-14

与其他一些问题类似,我发现IntelligentJ神秘地拒绝识别AssertJ库。我再次提问,因为(a)我尝试了各种建议,(b)我有一个非常简单的例子,任何人都可以自己尝试。

在IntelliJ 2018和IntelliJ 2019预发行版中,我使用Maven archetypeMaven archetype quickstart1.4版创建了一个新项目。

AssertJ 3需要Java8。所以我将POM中的这两行for1.7更改为11

    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>

我将此添加到POM:

    <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.11.1</version>
        <scope>test</scope>
    </dependency>

使用IntelliJ中的Maven面板,我执行了一个cleaninstall

看起来不错。我验证组织。assertj:assertj core:3.11.1库出现在IntelliJ的项目面板中。应用程序运行时,Hello World出现在IntelliJ的控制台上。

应用程序中。java文件,我添加了这个import语句。

import static org.assertj.core.api.Assertions.* ; 

IDE编辑器中报告的错误:

无法解析符号“断言”

有些人认为Maven缓存已损坏。所以我退出了IntelliJ,删除了。m2我的主文件夹中的文件夹。我在IntelliJ中重新打开我的项目,并重新执行Mavenclean

然而,我的编辑器中仍然存在错误,无法解析符号“断言”

没有涉及Java模块,因为尚未为此更新quickstart原型。

共有1个答案

郎泰平
2023-03-14

此主题已在AssertJ问题跟踪器上的关闭票证#520中解决。

当Maven依赖项包含值为testscope元素时,这意味着您不能在特定于测试的源程序包/文件夹之外使用该库。

如果您试图从示例项目的src/main/java/…文件夹层次结构中的代码调用AssertJ,您将看到该错误。如果您从src/test/java…调用AssertJ,您将看到成功。

要在src/main/java/..文件夹层次结构中启用AssertJ,请删除POM依赖项中的scope元素。因此:

    <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.11.1</version>
        <scope>test</scope>
    </dependency>

...变成这样:

    <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.11.1</version>
    </dependency>
 类似资料:
  • 代码运行,但无法获得函数、类等的建议。 谢谢

  • 问题内容: 我正在按照以下链接实施Firebase Messaging,以将消息发送到多个设备 https://firebase.google.com/docs/cloud-messaging/android/send- multiple#build_send_requests 我几乎完成了实现,但停留在最后阶段(构建发送请求) 在下面的代码中 我遇到了错误 也在线 当我按住Ctrl键并单击sen

  • 问题内容: 我正在尝试为我的应用添加loginfacebook。但是,当我添加执行此操作所需的存储库时。它导致了错误。AndroidJUnit4现在无法解析。 ExampleInstrumentedTest.java 这是我的build:gradle(app) 问题答案: 尝试 添加以下上面的依赖项部分

  • 问题内容: 在我的项目中,我遇到了一个错误: 检索项目的父项时出错:找不到与给定名称“ android:TextAppearance.Material.Widget.Button.Inverse”匹配的资源。 然后我尝试使用以下方法修复它: 但是后来我得到了错误: 无法解析符号NameValuePair android 如何解决这个错误? 问题答案: 是已弃用并已被删除的软件包的一部分,这是您正在

  • 问题内容: 我收到错误 消息“无法解析符号“ OnClickListener” 和 “无法解析符号“ V””, 我开始使用Java,因此我不太擅长此语言,并且对语言不太熟悉 我的代码: 问题答案: 我不确定您为什么要这样做,但请将初始化和侦听器移至: 只需剪切以下代码行: 并将它们粘贴到: 然后阅读编码的基础及其标准。

  • 我刚刚试着用了Android Studio。我创建了空白项目,并尝试创建,它扩展了。不幸的Android Studio“说”它 无法解析符号“AppCompattivity” 我有并多次重建项目。但是,我只能使用。我做错了什么?