java - IntelliJ Maven JAR "No main manifest attribute error"

标签 java maven intellij-idea

尝试建立一个简单的项目来运行一个简单的 http 服务器。

创建了 Maven 项目,以及 groupId/artifactId/version 等,并且能够进行设置,以便 IDE 可以解释和运行程序。当前在 Java 1.8 上。

但是,我想要完成的是,在终端中使用 mvn clean package 运行语句,如果我键入 "java -jar Some.jar",它应该运行该程序,但它不会。

我尝试在 src/java/ 或根项目目录中的资源文件夹中创建 META-INF/MANIFEST.MF,但没有任何效果。

我一直在改变,在 pom.xml 上尝试不同的东西,但就是运气不好。这是一个简单的设置,但如果有人可以指导我,或者我应该采取什么步骤,我将不胜感激。谢谢!

最佳答案

制作由 Maven 构建的 jar executable ,在pom.xml中添加如下配置:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        ...
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <mainClass>fully.qualified.MainClass</mainClass>
            </manifest>
          </archive>
        </configuration>
        ...
      </plugin>
    </plugins>
  </build>
  ...
</project>

这里的关键行是<mainClass>fully.qualified.MainClass</mainClass> .

关于java - IntelliJ Maven JAR "No main manifest attribute error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55226350/

相关文章:

java - 如何将参数列表传递给VM命令行

android - 如何将自定义maven存储库添加到gradle

android - IntelliJ Idea - Android 虚拟设备无法启动

intellij-idea - 如何在 PhpStorm 中预览方法内容

android - 在Intellij IDEA中导入android项目/使用共享资源

java - Emacs:设置java模式本地的键。

java - 将所选对象从一个 jface View 发送到另一个 jface View ,同时导航到该对象

java - 两个具有相同执行阶段的 Maven 插件

java - 在 Spring Boot 应用程序中读取 Manifest 文件

具有泛型参数的 Java 抽象方法