Accessing databases within a jar file using the classpath/modulepath

Once an archive containing one or more Derby databases has been created it can be placed in the classpath/modulepath. This allows access to a database from within an application without the application's knowing the path of the archive.

When jar or zip files are part of the classpath/modulepath, you specify the classpath subsubprotocol instead of the jar subsubprotocol to connect to them.

To access a database in a zip or jar file in the classpath/modulepath:

  1. Set the classpath/modulepath to include the jar or zip file before starting up Derby:
    CLASSPATH="C:\dbs.jar;%CLASSPATH%"
  2. Connect to a database within the jar or zip file with the following connection URL:
    jdbc:derby:classpath:databasePathWithinArchive

For example:

jdbc:derby:classpath:products/boiledfood