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).
Windows:
cd jets3t-x.y.z\bin
cockpit.bat
Unixy:
bash jets3t-x.y.z/bin/cockpit.sh
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.properties
Low-level toolkit configuration.synchronize.properties
Properties for the Synchronize applicationuploader.properties
Properties for the Uploader applicationcockpitlite.properties
Properties for the CockpitLite applicationmime.types
Maps file extensions to the appropriate mime/content type. For example, the "txt" extension maps to "text/plain".commons-logging.properties
Defines which logging implementation to use.log4j.properties
When Log4J is the chosen logging implementation, these settings control how much logging information is displayed, and the way it is displayed.simplelog.properties
When 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:
-
jets3t-x.y.z.jar
The JetS3t toolkit, including the JetS3t service implemention which underlies all the other JetS3t applications.
-
jets3t-gui-x.y.z.jar
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-x.y.z.jar
Cockpit, a GUI application/applet for viewing and managing the contents of an S3 account.
-
synchronize-x.y.z.jar
Synchronize, a console application for synchronizing directories on a computer with an Amazon S3 account.
-
cockpitlite-x.y.z.jar
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-x.y.z.jar
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
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.
The JetS3t distribution package includes an ANT build script (build.xml
) that
allows you to easily rebuild the project yourself, and a default set of build
properties (build.properties
) that you may wish to modify.
The following ANT command will recompile the JetS3t library and applications:
ant rebuild-all
To repackage JetS3t applications or applets with your modifications for redistribution:
ant repackage-applets
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.