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
- The archive is a plain JAR, not a Jenkins plugin; supply a proper .jpi/.hpi plugin file.
- Download the plugin from plugins.jenkins.io or the configured update center.
- 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.