运行 java jar - 没有主清单属性错误

新手上路,请多包涵

我创建了简单的 java 程序(带有 pom 的 maven),当我使用 CMD 运行一些命令时,它应该在给定路径下创建一个文件…我做 mvn clean install 成功完成,现在我想使用它从命令行创建 jar,如下所示:

 java -jar   "/Users/i012/IdeaProjects/myproj/target/test.rts-1.0-SNAPSHOT.jar" path2genfile2create

哪个应该运行我的程序(这是我第一次尝试这样的事情……)

但是我得到的错误是:

 no main manifest attribute, in /Users/i012/IdeaProjects/myproj/target/test.rts-1.0-SNAPSHOT.jar

这里可能缺少什么?哪个 清单属性

错误不是来自我创建的类……

我创建了一些 META-INF/MANIFEST.MF 没有帮助,但可能是错误的

原文由 Jenny Hilton 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 601
2 个回答

如果您正在使用 Maven 程序集插件,或者您的 IDE 工具正在使用,则需要一个 mainClass 元素。这就是我使用的:

 <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
      <archive>
        <manifest>
          <mainClass>com.foo.MyMainClass</mainClass>
        </manifest>
      </archive>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
    <executions>
      <execution>
      <id>make-assembly</id>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
      </execution>
    </executions>
  </plugin>

原文由 Kevin Boone 发布,翻译遵循 CC BY-SA 3.0 许可协议

就我而言,我使用的是 spring-boot 但我没有在我的 pom 中提到我的构建器所以我通过以下方式修复了它:

 <build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

原文由 saman 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题