BND(1)
π bnd β the BND(1) era π
okay bestie, pull up a chair π«Ά this is the manual page for bnd, living in section 1 of the manual, and it's the one shipped in BND for Debian GNU/Linux. it's giving "swiss army knife but make it OSGi" and honestly? iconic.
β¨ NAME β¨
bnd β create and diagnose OSGi bundles. that's the whole vibe. π
πΈ SYNOPSIS πΈ
bnd [general-options] [cmd] [cmd-options]
bnd [general-options] <file>.jar
bnd [general-options] <file>.bnd
so like, three whole ways in. general options, then a command, then that command's options. or you just yeet a .jar at it. or you yeet a .bnd file at it. pick your fighter β¨
π DESCRIPTION π
the bnd tool helps you create and diagnose OSGi bundles β it's genuinely so good at this, no cap. the key functions are, and I quote the lore:
- show the manifest and JAR contents of a bundle
- wrap a JAR so that it becomes a bundle π
- create a Bundle from a specification and a class path
- verify the validity of the manifest entries (the vibe check, basically)
π GENERAL OPTIONS π
these are the ones you drop before the command, bestie. main character energy.
--failokβ same as the property--failok. the current run will create a JAR file even if there were errors. yes, even then. it's giving "we ball" π--exceptionsβ will print the exception when the software has ran into a bad exception and bails out. normally only a message is printed. for debugging or diagnostic reasons, the exception stack trace can be very helpful β and lowkey it's the receipts you need π₯-f,--fullβ do full-p,--project<string>β identify another project-t,--testβ build for test-o,--output<string>β specify the output file path. the default isoutput.jarin the current directory π«Ά
π COMMANDS π
available commands, and there are so many, bestie. here's the full roster, no gatekeeping:
actionβ execute an action on a repo, or if no name is give, list the actionsaddβ add a workspace, or a project or a plugin to the workspacebaselineβ compare a newer bundle to a baselined bundle and provide versioning advicebashβ generate autocompletion file for bashbndβ the swiss army tool for OSGibootstrapβ interactive gogo shellbsn2urlβ from a set of bsns, create a list of urls if found in the repobuildβ build a project. this will create the jars defined in thebnd.bndand sub-builders.buildxβ build project, is deprecated but here for backward compatibilitybumpβ bumps the version of a projectchangesβ show the changes in this release of bndcleanβ clean a projectcompileβ compile a project or the workspaceconvertβ converter to different formatscopyβ (no description given, it's just mysterious like that π)createβ create jar, used to support backward compatible java jar commandsdebugβ show a lot of info about the project you're indefaultsβ (no description given, staying enigmatic π)deliverablesβ show all deliverables from this workspace, with their current version and path.diffβ diff jarsdigestβ digests a number of filesdoβ execute a file based on its extension. supported extensions are:bnd(build),bndrun(run), andjar(print)eclipseβ show info about the current directory's eclipse projecteesβ show the Execution Environments of a JARenrouteβ OSGi enRoute commands to maintain bnd workspaces (create workspace, add project, etc)exportβ (no description given, classic π)extractβ extract files from a JAR file, equivalentjarcommandx[vf](syntax supported)findβ go through the exports and/or imports and match the given exports/imports globs. if they match, print the file, package and version.flattenβ flatten a bundle by expanding all entries on theBundle-ClassPathgrepβ grep the manifest of bundles/jar files.infoβ show key project variablesjunitβ test a project with plain JUnitmacroβ show macro valuemavenβ Maven bundle commandnexusβ (no description given, so mysterious π )packageβ package abndorbndrunfile into a single jar that executes withjava -jar <>.jarpluginsβ (no description given β¨)printβ printout the JARprofileβ profile management. a profile is a JAR that only contains packages and capabilitiesprojectβ execute a Project action, or if no parms given, show information about the projectreleaseβ release this projectremoteβ (no description given π)removeβ remove a project or a plugin from the workspacerepoβ manage the repositoriesresolveβ (no description given, it's got secrets π₯)runβ run a project in the OSGi launcherruntestsβ run OSGi tests and create reportschemaβ highly specialized function to create an overview of package deltas in eesselectβ helps finding information in a set of JARs by filtering on manifest data and printing out selected information.settingsβ setbnd/jpmglobal variablessourceβ merge a binary jar with its sources. it is possible to specify source pathsyncβ execute a Project action, or if no parms given, show information about the projectsyntaxβ access the internal bnd database of keywords and optionstestβ test a project according to an OSGi testtypeβ list files int a JAR file, equivalentjarcommandt[vf](syntax supported)verifyβ verify jarsversionβ show version information about bndviewβ view a resource from a JAR file.wrapβ wrap a jarxrefβ show a cross references for all classes in a set of jars.
some of these genuinely do not have descriptions in the source. that's not me being lazy, that's just canon bestie π«Ά
π¦ SEE ALSO π¦
and that's the whole page, bestie!! π you ate this. go forth and bundle responsibly β¨π
this was bnd-5.1.2, dated 2026-05-15, from BND for Debian GNU/Linux. periodt. π ππ¦
π¦ where this page comes from
- ubuntu stonking: bnd 5.1.2-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms