| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> |
| <head> |
| <meta name="copyright" content= |
| "Copyright (c) IBM Corporation and others 2000, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." /> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <meta http-equiv="Content-Style-Type" content="text/css" /> |
| <link rel="STYLESHEET" href="../book.css" charset="ISO-8859-1" type="text/css" /> |
| <title>Programmatically Writing a Jar file</title> |
| <link rel="stylesheet" type="text/css" href="../book.css" /> |
| |
| </head> |
| <body> |
| <h2>Programmatically Writing a Jar file</h2> |
| <p>The <a href= |
| "../reference/api/org/eclipse/jdt/ui/jarpackager/package-summary.html"><b>org.eclipse.ui.jarpackager</b></a> |
| |
| package provides utility classes to programmatically export files to a Jar file. Below is a code |
| snippet that outlines the use of the <a href= |
| "../reference/api/org/eclipse/jdt/ui/jarpackager/JarPackageData.html"><b>JarPackageData</b></a> |
| class:</p> |
| <pre class="color1"> |
| void createJar(IType mainType, IFile[] filestoExport) { |
| Shell parentShell= ...; |
| JarPackageData description= new JarPackageData(); |
| IPath location= new Path("C:/tmp/myjar.jar"); |
| description.setJarLocation(location); |
| description.setSaveManifest(true); |
| description.setManifestMainClass(mainType); |
| description.setElements(filestoExport); |
| IJarExportRunnable runnable= description.createJarExportRunnable(parentShell); |
| try { |
| new ProgressMonitorDialog(parentShell).run(true,true, runnable); |
| } catch (InvocationTargetException e) { |
| // An error has occurred while executing the operation |
| } catch (InterruptedException e) { |
| // operation has been canceled. |
| } |
| } |
| </pre> |
| <p>Additional API is provided to create a plug-in specific subclass of <a href= |
| "../reference/api/org/eclipse/jdt/ui/jarpackager/JarPackageData.html"><b>JarPackageData</b></a>. |
| This allows other plug-ins to implement their own Jar export/import wizards and to save the content |
| of the <a href= |
| "../reference/api/org/eclipse/jdt/ui/jarpackager/JarPackageData.html"><b>JarPackageData</b></a> |
| object to a corresponding Jar description file.</p> |
| <p>Once the JAR is described by a <a href= |
| "../reference/api/org/eclipse/jdt/ui/jarpackager/JarPackageData.html"><b>JarPackageData</b></a>, it |
| can be programmatically written using a <a href= |
| "../reference/api/org/eclipse/jdt/ui/jarpackager/JarWriter3.html"><b>JarWriter3</b></a>.</p> |
| |
| </body> |
| </html> |