jenkinsci/jenkins · error · IllegalArgumentException

JAR manifest lacks a Short-Name attribute and so does not lo

Error message

JAR manifest lacks a Short-Name attribute and so does not look like a plugin

What it means

Error "JAR manifest lacks a Short-Name attribute and so does not look like a plugin" thrown in jenkinsci/jenkins.

Source

Thrown at core/src/main/java/hudson/cli/InstallPluginCommand.java:185

            h.safeRestart();
        return 0; // all success
    }

    private static File getTmpFile() throws Exception {
        return File.createTempFile("download", ".jpi.tmp", Jenkins.get().getPluginManager().rootDir);
    }

    private static File moveToFinalLocation(File tmpFile) throws Exception {
        String pluginName;
        try (JarFile jf = new JarFile(tmpFile)) {
            Manifest mf = jf.getManifest();
            if (mf == null) {
                throw new IllegalArgumentException("JAR lacks a manifest");
            }
            pluginName = mf.getMainAttributes().getValue("Short-Name");
        }
        if (pluginName == null) {
            throw new IllegalArgumentException("JAR manifest lacks a Short-Name attribute and so does not look like a plugin");
        }
        File target = new File(Jenkins.get().getPluginManager().rootDir, pluginName + ".jpi");
        Files.move(tmpFile.toPath(), target.toPath(), StandardCopyOption.REPLACE_EXISTING, StandardCopyOption.ATOMIC_MOVE);
        return target;
    }
}

View on GitHub (pinned to 2e228ff40b)

Solutions

  1. The archive is a plain JAR, not a Jenkins plugin; supply a proper .jpi/.hpi plugin file.
  2. Download the plugin from plugins.jenkins.io or the configured update center.
  3. Build the plugin with the Jenkins maven-hpi-plugin so the manifest includes Short-Name.

When it happens

Trigger: Raised when the install-plugin CLI command is given a JAR whose manifest lacks the Short-Name attribute, so it is not recognized as a Jenkins plugin.

Common situations: See trigger scenarios.


AI-assisted analysis of jenkinsci/jenkins@2e228ff40b (2026-08-14). Data as JSON: /api/errors/ec3c1429cf74f94d. Report an issue: GitHub.