Jar

zhaozj2021-02-08  233

Jar

Translation: Cherami

Email: cherami@163.net

Original: http://developer.java.sun.com/developer/techtips/2000/tt0411.html

Have you tried to use the JAR file archive? You may have heard a UNIX tool called "TAR" or tape archive file, which is usually used to back up a set of files. In JDK 1.1 and later, there is a similar tool "jar" or a Java packer. The following is a method of use.

Create a JAR package using the following:

$ jar cf archive.jar file1 file2 ...

After creating the archive package, you can list the contents:

$ jar tf archive.jar

And you can extract the files from it:

$ jar xf archive.jar [file1 file2 ...]

Why is the JAR tools are important? After all, there are many different zip tools for packaging and compress files. Its important use is to bind multiple class files. A set of class files can form a package or library. For example, in Windows 95 or NT, you can say:

ClassPath = "lib1.jar; lib2.jar;"

Another very important usage of it is to optimize the loading of the applet. Consider the simple applet below:

// applet.java

Import java.awt. *;

Import java.applet. *;

Public class applet extends applet {

Public void Paint (Graphics G)

{

String s = message.getInetIntro ("INTRO");

g.drawstring (s, 25, 25);

}

}

It visits a secondary class:

// Message.java

Public class message {

Public Static String GetIntro (String T)

{

IF (t! = null)

Return T;

Else

Return "Hello World!";

}

}

You call this applet with HTML code, for example:

Hello World Example AppleT </ Title></p> <p></ HEAD></p> <p><Body></p> <p><Applet code = "applet.class" Archive = "applet.jar"</p> <p>Width = "150" Height = 150></p> <p><Param name = "intro" value = "good met"></p> <p></ Applet></p> <p></ Body></p> <p></ Html></p> <p>Note "Archive" attribute. Without this setting, each auxiliary class like Message is loaded to call a separate request to the server saved the HTML page. But using JAR files, different class files can be downloaded more efficiently.</p> <p>In this example, you use the following command to create Archive.jar:</p> <p>$ javac applet.java</p> <p>$ jar cf applet.jar * .class</p> <p>That is to build the JAR file with all the class files in the current directory.</p> <p>Last Note: JAR file can also be used in JavaBeans. Translator Note: The format of the JAR file is the standard ZIP file. You can create a JAR file with the most popular ZIP tool Winzip. You can only modify the extension after you created, and of course you can specify the file name when you created. Of course, you can also use WinZip to unpack the JAR file and view a list. It should be noted that another Zip tool WinRAR cannot be used to create a JAR file, because WinRar's compression ratio is larger, not a standard ZIP format, but you can use it to unpack JAR files.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-1937.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="1937" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.043</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'PyHgrAFsNppbd3aqbUgjii0rK24_2FxER7GinX6C5NTJChbL_2BGkx6coFU7OAXATQwK2MXd2vh1PzRomhsrrrYZTw_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>