下面的Java代码在创建新实例的行抛出Java.lang.NullPointerException
。
import java.util.Properties;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Test {
public static void main(final String... args) {
Properties seleniumProperties = new Properties();
seleniumProperties.setProperty("webdriver.gecko.driver", "<PATH_TO_DRIVER>");
System.setProperties(seleniumProperties);
WebDriver driver = new FirefoxDriver();
}
}
行号。14是webdriver driver=new FirefoxDriver();
,下面是异常的堆栈跟踪:
Exception in thread "main" java.lang.NullPointerException
at java.lang.String.startsWith(String.java:1405)
at java.lang.String.startsWith(String.java:1434)
at java.util.jar.JarFile.isKnownNotToHaveSpecialAttributes(JarFile.java:594)
at java.util.jar.JarFile.checkForSpecialAttributes(JarFile.java:552)
at java.util.jar.JarFile.hasClassPathAttribute(JarFile.java:518)
at java.util.jar.JavaUtilJarAccessImpl.jarFileHasClassPathAttribute(JavaUtilJarAccessImpl.java:37)
at sun.misc.URLClassPath$JarLoader.getClassPath(URLClassPath.java:1186)
at sun.misc.URLClassPath.getLoader(URLClassPath.java:522)
at sun.misc.URLClassPath.getNextLoader(URLClassPath.java:484)
at sun.misc.URLClassPath.getResource(URLClassPath.java:238)
at java.net.URLClassLoader$1.run(URLClassLoader.java:365)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at Test.main(Test.java:14)
我想我找到问题了。使用system.setproperties
可能会删除JVM使用的所有关键属性。我用system.setproperty
替换了代码,如下所示,现在它可以正常工作。
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Test {
public static void main(final String... args) {
/*
Properties seleniumProperties = new Properties();
seleniumProperties.setProperty("webdriver.gecko.driver", "<PATH_TO_DRIVER>");
System.setProperties(seleniumProperties);
*/
System.setProperty("webdriver.gecko.driver", "<PATH_TO_DRIVER>");
WebDriver driver = new FirefoxDriver();
}
}
我正在尝试使用Dozer从JAXB实体“JaxbParent”填充Hibernate实体“Parent”。我的Hibernate实体: 我的Jaxb实体看起来像: My Dozer xml映射配置: 因此,为了将孩子列表转换为孩子集,我使用CustomConverter,并且我得到了正确的数据字段。问题是,Hibernate需要每个孩子都有对父对象的引用(以执行保存),但目前它为空。我试图将“th
JavaScript对每个创建的对象都会设置一个原型,指向它的原型对象。 当我们用obj.xxx访问一个对象的属性时,JavaScript引擎先在当前对象上查找该属性,如果没有找到,就到其原型对象上找,如果还没有找到,就一直上溯到Object.prototype对象,最后,如果还没有找到,就只能返回undefined。 例如,创建一个Array对象: var arr = [1, 2, 3]; 其
问题内容: 如何使用Google Gson创建json对象?以下代码创建一个看起来像的json对象 如何创建像这样的jSon对象? 问题答案: 弄清楚了如何使用Java对象正确执行此操作。 Creator java类的实现。
问题内容: 我正在尝试学习python,现在我试图摆脱类的困扰,以及如何使用实例操作它们。 我似乎无法理解这个练习问题: 创建并返回其名称,年龄和专业与输入的对象相同的学生对象 我只是不明白对象的含义,是否意味着我应该在包含这些值的函数内创建一个数组?或创建一个类,然后将该函数放入其中并分配实例?(在问这个问题之前,我被要求开设一个学生班,里面要写姓名,年龄和专业) 问题答案: 请注意,即使Pyt
当我创建GET响应时,出现了Stackoveflow错误 应答控制器 他用AjaxResponseBody类作为答案 当这个控制器工作时,我捕捉到 我是如何理解这种情况的,因为模型用户和模型项目彼此有链接。模型用户有一个可选字段“监视的项目”。 并且模型项目具有字段,而不是empriy字段“author”: 我怎么能放弃它?还是其他方式?
虽然Object 构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码。为解决这个问题,人们开始使用工厂模式的一种变体。 6.2.1 工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程(本书后面还将讨论其他设计模式及其在JavaScript 中的实现)。考虑到在ECMAScript 中无法创建类