【问题标题】:Could not find or load main class error when adding maven dependency添加 maven 依赖项时找不到或加载主类错误
【发布时间】:2021-12-18 14:03:24
【问题描述】:

我有一个 Maven 项目,它被导出到一个 JAR 中并且工作正常。 一旦我添加了 Maven 依赖项(不使用任何类等,只是导入)

<dependency>
    <groupId>technology.tabula</groupId>
    <artifactId>tabula</artifactId>
    <version>1.0.5</version>
</dependency>

导出的 JAR 抛出以下错误:

Error: Could not find or load main class main.MyMain

任何提示如何解决这个问题? 我必须使用这个Lib,但是当它只导入而不使用时已经出现错误。

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>

    <groupId>my.group</groupId>
    <artifactId>my-art</artifactId>
    <version>1.0</version>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.dropbox.core</groupId>
            <artifactId>dropbox-core-sdk</artifactId>
            <version>3.1.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.10</version>
        </dependency>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.13.1</version>
        </dependency>
        <!--<dependency>-->
            <!--<groupId>technology.tabula</groupId>-->
            <!--<artifactId>tabula</artifactId>-->
            <!--<version>1.0.5</version>-->
        <!--</dependency>-->
    </dependencies>
</project>

【问题讨论】:

  • 调试方法如下:stackoverflow.com/questions/18093928/… 另外,如果没有这种依赖关系,应用程序是否可以成功启动?
  • @ArthurKlezovich 是的,没有这种依赖,一切正常
  • 你能粘贴你的 pom.xml 吗?
  • 您使用哪个命令来运行应用程序?
  • 将 pom.xml 添加到我的问题中。我从命令行使用的命令是“java -jar myapp.jar”

标签: java maven dependencies tabula


【解决方案1】:

我从命令行使用的命令是“java -jar myapp.jar”

如果您从命令行以jar 运行它,则需要为您的应用指定类路径。看到这个post

【讨论】:

  • 只需使用“java -jar myapp.jar”命令或指定的“java -cp myapp.jar main.MyMain”命令,我的应用程序就可以工作。一旦我导入提到的依赖项,两个命令都会给出我在问题中提出的相同错误。
  • 它是否从带有/不带有此依赖项的 IDE 运行?
  • 从IDE没有问题,无论有没有这个依赖都可以工作
  • > 在 IDE 中没有问题,无论有无此依赖项都可以工作 - 这表明问题出在您用于从命令行运行应用程序的命令上。如果您想从 CLI 运行它,请使用您的 IDE 用于运行应用程序的相同 java 命令。如果您使用 Intellij intellij-support.jetbrains.com/hc/en-us/community/posts/…,请按照以下步骤操作
  • 错误可能与 -classpath 标志有关
猜你喜欢
  • 1970-01-01
  • 2016-05-21
  • 2015-06-04
  • 2020-08-29
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
  • 2023-02-19
相关资源
最近更新 更多