微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

由以下原因引起:org.apache.maven.surefire.booter.SurefireBooterForkException:分叉进程中存在错误[ERROR]无法实例化类

如何解决由以下原因引起:org.apache.maven.surefire.booter.SurefireBooterForkException:分叉进程中存在错误[ERROR]无法实例化类

我正在将项目迁移到Java 15版本。我们已完成所有必需的更改,并开始构建Maven全新安装。

我收到以下错误。在google和Github其他论坛上尝试了很多,没有用。

TestNG版本更改,并且某些插件更改,但是没有运气。

请在错误下方找到。有人可以帮忙...

public class Weatherstation{
    
    double temperature; 
    double windspeed;
    double windChillTemperature;
    double actualTemperature;
    double actualSpeed;
    
    public void measureTemperature(){
    
        for (temperature = -10; temperature <= 30; temperature = temperature + 5)
        {
            System.out.println(temperature);
            if(temperature == 30)
                 while(temperature > -10)
                 {
                     System.out.println(temperature-1);
                     temperature = temperature - 1;
                     
                 }
        }
                 
}
    
    public void measureWindspeed(){
       
        for (windspeed = 0; windspeed <= 80; windspeed = windspeed + 8)
        {
            System.out.println(windspeed);
            if(windspeed == 80)
                 while(windspeed > 0)
                 {
                     System.out.println(windspeed-16);
                     windspeed = windspeed-16;
                 }
        }
}
        
    public void calculateWindChillTemperature(){
        
        windChillTemperature = 13.12 + (0.6215 * temperature) + ((0.3965 * temperature) - 11.37) * Math.pow(windspeed,0.16);
        
}
    
    public void  generateWeatherMessage(){
        
        String warning="";
        calculateWindChillTemperature();
        if(windspeed >= 70)
            warning += "Wind Warning";
        if(windChillTemperature >= -18)
            warning += "Cold Warning";
        System.out.println("Actual weather: Temp: "+temperature+"°C (Wind: "+windspeed+"km/h) Chilltemp: "+windChillTemperature+"°C,"+warning);
}
    
      
}

public class WeatherstationTester {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        Weatherstation w1 = new Weatherstation();
        for(int i = 0; i <= 10; i++)
            w1.generateWeatherMessage();
        
            
        
    }
    
}

解决方法

您看到的stacktrace不一定表示插件中有错误。

我认为带有无法实例化类com ... ABCTest 的日志是由您的框架TestNG打印的。 JDK 15中的TestNG是否可靠? 您可以在转储文件中看到更多内容,并在 target / surefire-reports 中找到详细的错误。

我在https://sqa.stackexchange.com/questions/14680/cannot-instantiate-class-error-selenium-webdriver中发现了类似的问题,并且根本原因看起来像他们所说的驱动程序

driver.findElement(...)

在测试类的构造函数中。

,

我用surefire和testng有一个非常相似的问题,结果是测试类的构造函数有错误被吞了。我的解决方案是用 try/catch 包围整个 costuctor 代码并手动记录异常以找到真正的问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。