繁体   English   中英

java.lang.NullPointerException: inStream 参数在我的 Maven 项目中为空

java.lang.NullPointerException: inStream parameter is null in my Maven Project

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我在我的项目中进行了结构更改,但出现此错误

项目结构:在此处输入图片描述

平台通知我以下错误:

Step failed
java.lang.NullPointerException: inStream parameter is null
at java.base/java.util.Objects.requireNonNull(Objects.java:233)
at java.base/java.util.Properties.load(Properties.java:407)
at com.crm.framework.config.ConfigReader.ReadProperty(ConfigReader.java:19)
at com.crm.framework.config.ConfigReader.PopulateSettings(ConfigReader.java:11)
at steps.TestInitialize.Initialize(TestInitialize.java:21)

这是我的 ConfigReader,它显示在上面的错误 ConfigReader 中:

package com.crm.framework.config;
import com.crm.framework.base.BrowserType;
import java.io.IOException;
import java.util.Properties;

public class ConfigReader {

public static void PopulateSettings() throws IOException {
    ConfigReader reader = new ConfigReader();
    reader.ReadProperty();
}


private void ReadProperty() throws IOException {
    //Create Property Object
    Properties p = new Properties();
    //Load the property file available in same package
    p.load(getClass().getResourceAsStream("GlobalConfig.properties"));
    //Get AUTConnection String
    Settings.AUTConnectionString = p.getProperty("AUTConnectionString");
    //Get Reporting String
    Settings.ReportingConnectionString = p.getProperty("ReportingConnectionString");
    //Get LogPath
    Settings.LogPath = p.getProperty("LogPath");
    //Get DriverType
    Settings.DriverType = p.getProperty("DriverType");
    //Get ExcelSheetPath
    Settings.ExcelSheetPath = p.getProperty("ExcelSheetPath");
    //Get AUT
    Settings.AUT = p.getProperty("AUT");
    //Browser Type
    Settings.BrowserType = BrowserType.valueOf(p.getProperty("BrowserType"));
}
}

我还附上了 TestInitialize 的代码,该文件包含用于运行测试用例 TestInitialize 的 @Before:

package steps;

import com.crm.framework.base.DriverContext;
import com.crm.framework.base.FrameworkInitialize;
import com.crm.framework.config.ConfigReader;
import com.crm.framework.config.Settings;
import com.crm.framework.utilities.LogUtil;
import io.cucumber.java.Before;


// import io.cucumber.java.Before;


import java.io.IOException;

public class TestInitialize extends FrameworkInitialize {

@Before
public void Initialize() throws IOException {
    //Initialize config
    ConfigReader.PopulateSettings();

    //Logging
    Settings.Logs = new LogUtil();
    Settings.Logs.CreateLogFile();
    Settings.Logs.Write("Framework initialize");

    //Create Test Cycle for Reporting
        /*
        Pending
         */

    Settings.Logs.Write("Test Cycle Created");
    InitializeBrowser(Settings.BrowserType);
    Settings.Logs.Write("Browser initialize");
    DriverContext.Browser.GotoUrl(Settings.AUT);
    Settings.Logs.Write("Navigate to URL: " + Settings.AUT);
}
}
1 个回复

这是最有可能的罪魁祸首: https : //docs.oracle.com/javase/10/docs/api/java/util/Properties.html#getProperty(java.lang.String)

来自 Javadoc:

public String getProperty (String key)

在此属性列表中搜索具有指定键的属性。 如果在此属性列表中找不到该键,则递归地检查默认属性列表及其默认值。 如果未找到该属性,该方法将返回 null

属性区分大小写。 确保:

  1. 你需要的属性文件存在,那么
  2. 文件内的属性键存在,最后
  3. 它的拼写方式与它在文件中的显示方式完全相同。

作为故障安全,您可以使用getProperty(key, defaultValue) ,它与上面的类似,不同之处在于它返回传递的默认值而不是 null 在传递给方法的属性键不存在的情况下给定的属性文件。

此外,请确保属性文件的 PATH 正确。 如果您不了解资源是如何解析的,那么了解从 IDE 和部署环境运行时如何解析文件路径也可能是一个问题。

5 关于Project Euler#25的困惑-关于java.lang.NullPointerException

我正在研究Euler#25项目。 我打算将所有斐波那契数保存在BigInteger数组中。 但是,抛出NullPointerException,我不知道为什么以及如何避免它。 我知道有更简单的算法可以解决这个问题。 但是我只想知道我的错误在哪里,非常感谢! 问题状态如下:斐波那契数列由 ...

6 我的Android项目正在获取“ java.lang.NullPointerException”

我已经在这个项目上工作了几个星期,突然之间我收到了java.lang.NullPointerException 。 编译正常。 但是我在运行它时遇到此错误。 因此,我更改了工作空间并加载了项目的先前工作版本,该版本作为备份保存。 而且有同样的问题。 该应用程序在加载第一个布局之前就崩 ...

9 数组为null的java.lang.NullPointerException

该程序要求用户提供账单,然后向他们支付多少钱,并应计算并打印出零钱。 我省略了第二部分,因为我的问题是第二个for循环中更改的计算。 发生的错误是java.lang.NullPointerException ,取决于用户输入的不同毛钱,四分之一,镍线等。 我查了一下这个问题,人们说它的程序 ...

10 java.lang.NullPointerException:在空对象引用上

这是我的源代码,我收到此错误: 如果我把“setContentView(R.layout.activity_main2)”放在下面创建它的工作,但我只想让它一次性登录,所以我把它放在下面然后我得到这个错误“java.lang.NullPointerException:尝试调用虚拟方法” co ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM