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

无法执行jar文件:mainclass属性缺少Intellij Gradle

颜华池
2023-03-14
Manifest-Version: 1.0
Bundle-Description: Servlet Specification API
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0
Bundle-SymbolicName: org.mortbay.jetty.servlet-api
Archiver-Version: Plexus Archiver
Built-By: janb
Bundle-RequiredExecutionEnvironment: J2SE-1.4
Bnd-LastModified: 1229016831353
Bundle-ManifestVersion: 2
Bundle-DocURL: http://www.mortbay.com
Bundle-Vendor: Mort Bay Consulting
Tool: Bnd-0.0.238
Implementation-Vendor: JCP
Originally-Created-By: 1.5.0_13 (Sun Microsystems Inc.)
Export-Package: javax.servlet.http;uses:="javax.servlet";version="2.5"
 ,javax.servlet;version="2.5",javax.servlet.resources;version="2.5",ja
 vax.servlet.jsp.resources;version="2.5"
Bundle-Version: 2.5
Bundle-Name: Servlet Specification API
Ignore-Package: javax.servlet.http,javax.servlet,javax.servlet.resourc
 es,javax.servlet.jsp.resources
Created-By: 1.5.0_13 (Sun Microsystems Inc.)
Build-Jdk: 1.5.0_13
Specification-Version: 2.5
Manifest-Version: 1.0
Main-Class: MainFrame
group 'tasks'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'application'

mainClassName = 'MainFrame'
sourceCompatibility = 1.8
targetCompatibility = 1.8
version = '1.0'

jar {
    manifest {
        attributes 'Implementation-Title': 'Gradle Quickstart',
                'Implementation-Version': version,
                'Main-Class': 'MainFrame'
    }
}

我也看了几个Youtube视频,但似乎没有一个能解决这个问题。

为什么mainclass-属性没有正确地嵌入到jar的清单中,如何修复它?

共有1个答案

朱保赫
2023-03-14

我也有同样的问题,我正在用Intellij编码。在我的年级上,我写了下面的代码

    buildscript {
    ext {
        springBootVersion = '2.1.6.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'idea'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'


bootJar {
    baseName = 'yournameforyourjar'
    version =  '0.1.0'
}

jar {
    manifest {
        attributes(
                'Main-Class': 'yourpackagename.Application'
        )
    }
}


repositories {
    mavenCentral()
}

sourceCompatibility = 1.8
targetCompatibility = 1.8

dependencies {

    compile group: 'org.springframework.boot', name: 'spring-boot', version: '2.1.6.RELEASE'
    implementation("org.springframework.boot:spring-boot-starter-web")

   //the rest of you dependencies add here


}

之后,我可以通过IDE上运行以下命令的终端生成.jar指令:

gradlew clean build

生成的.jar可以在项目文件夹中的build/libs目录中找到

 类似资料:
  • 问题内容: 我在程序中使用以下代码来加载属性文件: 该代码在Eclipse中运行良好。然后,将程序打包到一个名为MyProgram.jar的JAR中,然后运行它,第二行得到了NullPointerException。JAR不包含属性文件,它们都位于同一目录中。我正在使用Maven创建JAR。我该如何解决这个问题? 更新:我不想将属性文件添加到JAR中,因为它将在部署时创建。 问题答案: Balus

  • 我有一个Spring Boot应用程序,当我从Intellij作为maven配置运行它时,它可以正常运行。 我有一个用属性文件定义的环境的项目结构。 等等。 我们的框架的工作方式是选择带有VM参数的env。例如或 错误是: 我尝试使用以下文件:https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-e

  • 我已经安装了一个应用程序,当我试图运行它(它是一个可执行的jar)时,什么都没有发生。当我用以下命令行运行它时: java-jar“app.jar” 我得到以下信息: “app.jar”中没有主清单属性 通常情况下,如果我自己创建了这个程序,我会在清单文件中添加一个main类属性。但是在这种情况下,由于文件来自应用程序,我不能这样做。我还尝试提取jar,看看我是否能找到主类,但是有很多类,它们的名

  • 我有一个小的Maven应用程序,它使用JaCoCo进行测试覆盖报告。我不断得到以下错误: 由于缺少执行数据文件,正在跳过JaCoCo执行 这是我的POM。xml文件。我自己删除了项目元素。 这是我的主类,它位于结构下: 这是带有单元测试的类,它位于结构下: 我该如何解决这个问题?

  • 问题内容: C#具有用于声明和使用属性的语法。例如,可以声明一个简单的属性,如下所示: 也可以在属性中添加一些逻辑,如下所示: 无论是否具有逻辑,属性的使用方式与字段相同: 我对Java或C#都不陌生-我已经使用了很多东西,而且我总是想念Java中使用属性语法。我在这个问题中读到“在Java7中或将来几乎不可能添加属性支持”,但是坦率地说,我发现在讨论,论坛,博客,评论和JSR中需要挖掘太多的工作

  • 我将与NetBean IDE 8.1一起使用。 我是Maven和JavaFX打包的新手,所以我期待一些易于使用和理解的东西。