Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

631
Visualizações
"No main manifest attribute" when creating Kotlin jar using IntelliJ IDEA

When creating a jar from my Kotlin code and running it, it says "No main manifest attribute". When looking at the manifest.mf, it has this content:

Manifest-Version: 1.0

When looking at the file in the source, it has this content:

Manifest-Version: 1.0
Main-Class: MyMainClass

When manually copying the source manifest to the jar, it runs perfectly.

Screenshot of my artifact settings

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

I got this error with Gradle and Kotlin. I had to add in my build.gradle.kts an explicit manifest attribute:

tasks.withType<Jar> {
    manifest {
        attributes["Main-Class"] = "com.example.MainKt"
    }
}

From the gradle documentation, it's better to create a fatJar task to englobe all of the runtime dependencies in case you encounter java.lang.NoClassDefFoundError errors

over 4 years ago · Santiago Trujillo Relatório

0

If any of the dependent jars has a MANIFEST.MF file, it will override your custom one which defines the Main-Class.

In order to address this problem you should do the following:

  • Disable the alphabetical ordering
  • Change items ordering so that item which has META-INF/MANIFEST.MF file is the first in the list
  • Your custom MANIFEST.MF will be picked up by IntelliJ IDEA and displayed for the jar artifact.

See the related issue for more details.

You can also use Gradle or Maven to generate the fat jar instead.

over 4 years ago · Santiago Trujillo Relatório

0

1.Add the following task definition in the build script

tasks.jar {
manifest {
    attributes["Main-Class"] = "MainKt"
}
configurations["compileClasspath"].forEach { file: File ->
    from(zipTree(file.absoluteFile))
}
}
  1. Then the jar tasks (Tasks | build | jar) again from the right hand sidebar.
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda