java - 我不能在我的 JavaFX 项目中将 HtmlUnitDriver 与 Maven 一起使用
问题描述
我正在尝试在我的 JavaFX 项目中使用 HtmlUnitDriver 但是当我添加 HtmlUnitDriver 我得到这些错误我尝试了不同的版本并且仍然是相同的错误我不知道该怎么做
Caused by: java.lang.ClassNotFoundException: org.apache.xml.utils.PrefixResolver
Caused by: java.lang.ClassNotFoundException: org.apache.xml.utils.PrefixResolver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
... 45 more
我的 JavaFX 项目中只有一个类
Main.java 类包含以下代码
package com.ali.chegg.chegg;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.io.IOException;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.AnchorPane;
import org.openqa.selenium.htmlunit.HtmlUnitDriver;
/**
* JavaFX App
*/
public class App extends Application {
private static Scene scene;
@Override
public void start(Stage stage) throws IOException {
AnchorPane p=new AnchorPane();
Label lbl = new Label("Title);
Button b=new Button("get title");
b.setLayoutX(100);
b.setOnAction((t) -> {
HtmlUnitDriver d=new HtmlUnitDriver();
d.get("https://www.google.com");
lbl.setText(d.getTitle());
});
p.getChildren().addAll(lbl,b);
scene = new Scene(p,640, 480);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
和 POM.xml 文件:
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ali.chegg</groupId>
<artifactId>Chegg</artifactId>
<version>1.0</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>14</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>14</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-htmlunit-driver -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-htmlunit-driver</artifactId>
<version>2.0.0</version>
<type>jar</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.4</version>
<configuration>
<mainClass>com.ali.chegg.chegg.App</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
顺便说一句,我使用的是 Apache NetBeans 11.3 和 jdk 14.0.1
解决方案
推荐阅读
- javascript - Firestore/Javascript:FirebaseError:使用无效数据调用的函数 DocumentReference.set()。不支持的字段值:未定义
- c++ - 加载共享库时出错:libgmock.so:无法打开共享对象文件:没有这样的文件或目录
- c - 在 C 中打印数字金字塔,从顶部的最高数字开始
- android - 离子拦截传入的短信
- bash - 将 bash 脚本转换为 PowerShell
- css - CSS rotate3d 属性行为异常
- python - 如何在字符串中添加十六进制字节?
- android - recylerView 未显示在应用程序中
- git - 无法在 git bash 中执行任何操作
- javascript - javascript中的Json自定义问题