JetS3t is a free, open-source Java toolkit and application suite for Amazon Simple Storage Service (Amazon S3), Amazon CloudFront content delivery network, and Google Storage for Developers.
For further information, documentation, and links to discussion lists and other resources, please visit the JetS3t web site. There are also historic release notes summarizing the changes in past JetS3t releases, and pending release notes that include details about the up-coming release.
Each application can be run using a script in the bin directory. To run an application, such as Cockpit, run the appropriate script from the bin directory for your JetS3t version ("x.y.z" in these examples).
cd jets3t-x.y.z\bin cockpit.bat
Applications or library components generally read text configuration files, which must be available in the classpath of a running application to be useful.
Example configuration files are located in the configs directory. The run scripts in the bin directory automatically include this configs directory in the classpath when running JetS3t apps.
The configuration files include:
jets3t.propertiesLow-level toolkit configuration.
synchronize.propertiesProperties for the Synchronize application
uploader.propertiesProperties for the Uploader application
cockpitlite.propertiesProperties for the CockpitLite application
mime.typesMaps file extensions to the appropriate mime/content type. For example, the "txt" extension maps to "text/plain".
commons-logging.propertiesDefines which logging implementation to use.
log4j.propertiesWhen Log4J is the chosen logging implementation, these settings control how much logging information is displayed, and the way it is displayed.
simplelog.propertiesWhen SimpleLog is the chosen logging implementation, these settings control the logging information that is displayed.
The compiled JetS3t code jar files are available in the jars directory, and include the following:
The JetS3t toolkit, including the JetS3t service implemention which underlies all the other JetS3t applications.
Graphical user interface components used by JetS3t GUI applications such as Cockpit. These components are not required by the command-line Synchronize tool, nor by non-graphical programs you may build.
Cockpit, a GUI application/applet for viewing and managing the contents of an S3 account.
Synchronize, a console application for synchronizing directories on a computer with an Amazon S3 account.
CockpitLite, a GUI application/applet for viewing and managing the contents of an S3 account, where the S3 account is not owned by the application's user directly but is made available via the Gatekeeper servlet.
Uploader, a wizard-based GUI application/applet that S3 account holders (Service Providers) may provide to clients to allow them to upload files to S3 without requiring access to the Service Provider's S3 credentials
Compatibility and Performance of Distributed Jar files
The class files in these jars are compiled for compatibility with Sun's JDK 5 and later, and have debugging turned on to provide more information if errors occur.
To use JetS3t in high-performance scenarios, the classes should be recompiled using the latest version of Java available to you and with debugging turned off.
Building JetS3t from source
The JetS3t distribution package includes an ANT build script (
allows you to easily rebuild the project yourself, and a default set of build
build.properties) that you may wish to modify.
The following ANT command will recompile the JetS3t library and applications:
To repackage JetS3t applications or applets with your modifications for redistribution:
The JetS3t application suite includes a servlet implementation of a Gatekeeper to offer mediated third-party access to your S3 resources. The deployable WAR file for this servlet is located in the servlets/gatekeeper directory.