当前位置: 首页 > 知识库问答 >
问题:

尝试执行Maven生成的Jar时,“错误:找不到或加载主类com.mycompany.app”

芮学
2023-03-14

我试图在Windows7上构建一个maven java程序,我的java版本是1.7。我得到了这个错误:

尝试执行Maven生成的Jar时,“错误:找不到或加载主类com.mycompany.app”

即使在Jar中存在com/mycompany/app.class并且它有一个main方法。下面是我的meta-inf/manifest.mf的样子:

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: me
Build-Jdk: 1.7.0_03
Main-Class: com.mycompany.App
Class-Path: C:/Users/me/.m2/repository/com/mycompany/commons/2.1-SNAPSHOT/commons-2.1-SNAPSHOT.jar

我正在尝试使用以下方法执行jar:

java -jar mycompany-2.1-SNAPSHOT.jar 12:141678 1

我的清单文件的末尾有一个空行。我使用Maven3.0.5并使用mvn包生成jar文件。下面是pom.xml的一部分:

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
            <archive>
                <manifest>
                    <addClasspath>true</addClasspath>
                    <classpathLayoutType>repository</classpathLayoutType>
                    <classpathPrefix>${settings.localRepository}</classpathPrefix>
                    <mainClass>com.mycompany.App</mainClass>
                </manifest>
            </archive>
        </configuration>
    </plugin>

有人能帮助我了解是什么导致了这个错误吗?

共有1个答案

能翔宇
2023-03-14

如果从manifest中删除除mainClass以外的所有内容,它应该可以工作。如果您试图创建一个包含所有类路径依赖项的可执行jar文件,那么您可能希望使用assembly插件或shade插件而不是jar插件。

 类似资料:
  • 问题内容: 我试图将HelloWorld放在.jar文件中并运行它,但是它不起作用。我创建了Java文件并在程序中键入内容,然后用cmd编写: 而且有效。然后我进入 得到了输出 然后我进入 第一行有效,而第二行却给我一个错误: 当我尝试使用64位jre7 \ bin,jdk1.7.0_51 \ bin,jdk1.7.0_51 \ jre \ bin中的java.exe文件打开它时,我得到的输出是(

  • 当我尝试在Windows上以编程方式运行命令时,会发生一些奇怪的事情。 运行以下命令时: 我知道这个错误 错误:找不到或加载主类JAR [106,97,118,97,32,-30岁,-128,-109,106,97,114,32,110,112,116,95,108,105,99,101,110,115,101,46,106,97,114,32,-30岁,-128,109,111,32,119,1

  • 我试图将HelloWorld放入一个.jar文件并运行它,但它不起作用。我创建了java文件并在程序中键入,然后用cmd写到: 而且奏效了。然后我进去了 并得到了输出 这与我尝试用64位JRE7\bin、JDK1.7.0_51\bin、JDK1.7.0_51\jre\bin和32位JRE7\bin中的java.exe文件打开它时(在快速关闭的窗口中)得到的输出相同。我卸载并重新安装了jre和jdk

  • 我已经使用netbeans制作了jar文件,使用Build和Clean项目选项。我得到了.jar文件,现在当我执行它一小段时间后,cmd窗口出现,并给出一个错误:“Could not find or load main class while executing jar file” 但是,如果我使用命令提示符Java-jar执行jar,它可以正常工作 Netbeans的输出为: 而在jar文件中,

  • 我有一个简单的例子 这是在IntelliJ中创建的,我想在其中构建JAR文件;所以我所做的: 添加了具有依赖项的工件(我可能有一些); 确保位于中,因为它已经在站点的某个地方提到过。 运行工件生成器,它在out文件夹中为我提供了JAR文件,而我运行的JAR文件说我“找不到或加载主类” 我怀疑这是一个原因。有什么想法吗?

  • 问题内容: 我已经尝试了几天,为我的多模块maven项目创建可执行的jar文件。但是,当我尝试运行此jar文件时,出现“找不到或加载主类src.main.java.com.domain.Mainclass”(出于公司隐私的考虑,我更改了名称domain和MainClass) 我已经搜寻了几天,似乎没有任何明显的技巧可行。 我的项目有一个主要的Maven项目,该项目可以下载所有依赖项(packagi