当我尝试运行刚创建的jar文件时,Maven错误“无法初始化主类”

Ayrock618:

我在命令行中使用Maven创建了一个.jar文件。它创建了.jar文件。当我尝试在命令行中运行它时,出现此错误:

java -jar target\github-automation-1.0.0.jar
Error: Unable to initialize main class com.aking.app.Application
Caused by: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver

我不确定如何解决此问题。这是显示重要文件位置的文件结构(为了键入而将软件包合并在一起):

- githubautomation (root directory)
    - pom.xml
    - src
        - main
            - java
                - com.aking.app
                    - Applicatoin.java

    - target
        - classes
            - com.aking.app
                - Application.class
        - github-automation-1.0.0.jar

我的pom.xml(编辑:添加了建议的代码)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <maven.compiler.release>11</maven.compiler.release>
        <start-class>com.aking.app.Application</start-class>
    </properties>

    <groupId>com.aking.app</groupId>
    <artifactId>github-automation</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.141.59</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.aking.app.Application</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

我还阅读了一些需要具有主要清单属性的内容,但我不确定。我希望能够使人们通过jar运行我的程序,而不依赖他们拥有IDE。

斯蒂芬·C:

这是您的问题的根本原因:

Caused by: java.lang.NoClassDefFoundError: org/openqa/selenium/WebDriver

类加载器找不到WebDriver该类。

为什么?

可能是因为包含该类的JAR文件不在运行时类路径上。

那么,如何在类路径上获取它呢?

有3种方法:

  1. java -cp ... com.aking.app.Application...具有您需要的所有JAR文件的地方使用Oracle文档解释了你需要用来表达命令行类路径的语法。

    注意:在Linux和Mac OS上,classpath分隔符:不是;

  2. 修改您的JAR文件Class-Path,使其MANIFEST.MF文件中包含属性。

  3. 创建一个“ UberJAR”,其中包含所有相关JAR的分解副本。

变体2和3可以使用Maven完成。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当我尝试运行Java代码时,我无法找到或加载主类

当我尝试运行测试时出现错误

当我尝试运行文件时,Pythonw崩溃

当我尝试运行 Flask 代码时,找不到 CSS 文件错误 404

当我尝试在属性初始化中使用 nameof 时出现错误 cs0120

Java错误:无法初始化主类

当我尝试运行pyspark.cmd时,出现错误消息“查找:'版本':无此类文件或目录”

当我尝试初始化一个类以调用其方法之一时,出现错误,如何解决?

当我尝试运行 flutter 项目时缺少 android.jar

当我尝试运行我的批处理脚本时,出现“ Batch:(在当前是意外的”错误

UnhandledPromiseRejectionWarning:错误:当我尝试运行我的代码时找不到模块“../database/db”

错误:尝试运行代码时找不到或加载收到的主类ReadFile

当我尝试运行代码时,Pygame窗口没有响应错误

当我尝试运行Xcode模拟器时,出现错误“ Stop“(null)”?

这是怎么回事 当我尝试运行此代码时,出现以下错误

当我尝试运行Anaconda Navigator时出现分段错误

当我尝试运行此代码时,出现以下错误

当我尝试运行 npm run build 命令时出现很多错误

当我尝试运行nutch generate命令时,共享内存文件空间不足

当我尝试使用异步函数调用承诺时,无法在初始化之前访问用户名

CoreData:错误:无法在创建时失败的NSManagedObject类上调用指定的初始化程序

当我运行Maven打包的JAR文件时,出现NoClassDefFoundError

当我尝试运行脚本时 Roslyn 崩溃

当我尝试运行npm时出现问题

Java 作业问题:我正在尝试运行我的程序,它没有显示任何错误但是当我尝试运行它时它不起作用?

找不到或无法运行jar文件时加载主类

我正在通过循环方法找到数字的阶乘,但是当我尝试运行代码时,出现错误,因为“ i”无法在变量中解析

当我尝试运行 sql 时,我遇到了运行时错误类型不匹配

每当我认为自己修复它时,“无法初始化集合”错误就会不断出现