?? deploy.html.primary
字號(hào):
<p>在1.2 以上版本的JDK中,可以對(duì)java 命令使用<strong>-jar</strong> 參數(shù)告訴解釋器應(yīng)用程序以JAR形式打包<br>
。Java VM 從Main-Class 中獲得信息------ 在manifest 的頭部描述運(yùn)行哪一個(gè)類。</p>
<pre>
<font size="2">java -jar <code>jar-file</code></font>
</pre>
<p>例如,</p>
<pre><font size="2">java -jar user/username/jbproject/myapp/myjar.jar</font>
</pre>
<p>當(dāng)然,如果你的archive 在你的CLASSPATH 上或者你在JAR的相同路徑下執(zhí)行,你只需這樣:</p>
<pre>
<font size="2">java -jar myjar.jar</font>
</pre>
<p><span class="bscan">注意:</span> 當(dāng)用 <strong>-jar</strong> 參數(shù)執(zhí)行一個(gè)JAR時(shí), JRE忽視任何顯式的classpath設(shè)置,如果你想在JAR<br>
文件的目錄之外運(yùn)行JAR文件,需要這樣寫:</p>
<br>
<code><font size="2">java -jar -classpath <full_path> <main_class_name></font></code>
<p><span class="bscan">See also:</span></p>
<ul>
<li><a href="http://java.sun.com/docs/books/tutorial/jar/basics/run.html">"Running JAR-packaged software"</a> at
http://java.sun.com/docs/books/tutorial/jar/basics/run.html</li>
<li><a href="http://java.sun.com/docs/books/tutorial/jar/basics/mod.html">"Modifying a manifest file"</a> at http://java.sun.com/docs/books/tutorial/jar/basics/mod.html</li>
<li><a href="http://java.sun.com/docs/books/tutorial/jar/basics/update.html">"Updating a JAR file"</a> at http://java.sun.com/docs/books/tutorial/jar/basics/update.html</li>
<li><a href="http://java.sun.com/j2se/1.3/jre/index.html">JRE download web site</a> at http://java.sun.com/j2se/1.3/jre/index.html</li>
</ul>
<a name="viewcontents"></a>
<p><font color="#000080" size="2"><b>查看歸檔文件archive的內(nèi)容</b></font></p>
<!--BNDX="JAR files:extracting;JAR files:viewing;viewing:ZIP files;ZIP files:viewing;viewing:JAR file contents;JAR files;viewing;viewing:archive file contents;archive files:viewing"-->
<p>查看JAR內(nèi)容的列表:</p>
<pre>
<font size="2">jar -tf <code>jar-file</code></font>
</pre>
<p>對(duì)ZIP文件也有效:</p>
<pre>
<font size="2">jar -tf <code>zip-file</code></font>
</pre>
<p>JAR還有其它許多用法,在命令行上鍵入jar 來獲得幫助.</p>
<p>你可以使用很多PKWARE格式兼容ZIP文件工具來檢查或更新JAR文件,如果某個(gè)工具<br>
需要ZIP擴(kuò)展名,可以臨時(shí)地把JAR更名為ZIP.</p>
<p><span class="bscan">Note:</span> WinZip6.3以前的版本有一個(gè)bug,不能解包或者查看有效的JAR文件,其后的版本都可以。</p>
<a name="updatejar"></a>
<p><b><font color="#000080" size="2">更新JAR文件的內(nèi)容</font></b></p>
<!--BNDX="JAR files:updating from command line"-->
<p>java2 的<code><font size="2">jar.exe</font></code> 有一個(gè) <strong>u</strong> 參數(shù)可以用來向一個(gè)已經(jīng)存在的JAR文件加入新的內(nèi)容。
</p>
<pre>
<font size="2">jar uf <code>jar-file input-file(s)</code></font>
</pre>
<p>這里,</p>
<p><code><font size="2">u</font></code> = 更新一個(gè)存在的JAR文件<br>
<code><font size="2">f</font></code> <font size="2"> </font> = 指定歸檔文件名<br>
<code><font size="2">jar-file</font></code> = 已經(jīng)存在的將被更新的JAR文件<br>
<code><font size="2">input-file(s)</font></code> = 空格間隔的待加入文件列表</p>
<p>input-file(s)中的文件將覆蓋與JAR文件中路徑文件名完全相同的文件</p>
<p>可以同時(shí)使用<strong>m</strong>參數(shù),指定同時(shí)更新存在的JAR的清單</p>
<pre>
<font size="2">jar umf <code>manifest</code> <code>jar-file</code></font>
</pre>
<p>這里,</p>
<p><code><font size="2">m</font></code> = 更新JAR文件的清單文件<br>
<code><font size="2">manifest</font></code> = 希望并入信息的已存在的清單文件的名稱</p>
<p><span class="bscan">See also:</span></p>
<ul>
<li><a href="http://java.sun.com/docs/books/tutorial/jar/basics/mod.html">"Modifying a manifest file"</a> at http://java.sun.com/docs/books/tutorial/jar/basics/mod.html</li>
<li><a href="http://java.sun.com/docs/books/tutorial/jar/basics/update.html">"Updating a JAR file"</a> at http://java.sun.com/docs/books/tutorial/jar/basics/update.html</li>
<li><a href="http://java.sun.com/j2se/1.3/docs/tooldocs/findingclasses.html">"How classes are found"</a> at http://java.sun.com/j2se/1.3/docs/tooldocs/findingclasses.html</li>
<li><a href="http://java.sun.com/docs/books/tutorial/jar/">The "JAR Files Trail"</a> in the Java Tutorial at http://java.sun.com/docs/books/tutorial/jar/</li>
</ul>
<a name="deploy_issues"></a>
<hr>
<p><font color="#000080" size="3"><b>配置要點(diǎn)</b></font></p>
<!--BNDX="deployment issues:"-->
<p>最好的配置策略要回答如下問題:</p>
<ul>
<li><a href="#classpath">你的需要都在classpath上了嗎?</a></li>
<li><a href="#rely">你的應(yīng)用的有對(duì)JDK1.1 或者JDK1.2/3(Java2)的依賴嗎?</a></li>
<li><a href="#libraries">用戶已經(jīng)安裝了你需要的JDK之外的類庫了嗎?</a></li>
<li><a href="#app_or_applet">應(yīng)用是一個(gè)applet還是application?</a></li>
<li><a href="#download_time">有下載時(shí)間或者服務(wù)器硬盤空間限制嗎?</a></li>
</ul>
<p><a name="classpath"></a> </p>
<p><font color="#000080" size="2"><b>你的需要都在classpath上了嗎?</b></font></p>
<!--BNDX="deployment issues:libraries on CLASSPATH"-->
<p>配置的首要問題是:JAR中或者calsspath沒有完成你的所有需要。如果你沒有把你需要的一些特別的再發(fā)布庫歸檔到JAR文件中,那么就要保證它們?cè)诃h(huán)境變量CLASSPATH
中或者在命令行Java.exe的 <strong>-classpath</strong> 參數(shù)中被正確的聲明。 <strong>-classpath</strong>
參數(shù)是值得推薦的方法,因?yàn)槟隳軌騿为?dú)設(shè)置每個(gè)應(yīng)用的環(huán)境參數(shù),既不會(huì)影響別的應(yīng)用,也不會(huì)被別的應(yīng)用影響.</p>
<p><span class="bscan">提示:</span> 當(dāng)你在JBuilder IDE中執(zhí)行程序時(shí),JBuilder能夠告訴你你的classpath信息,鏡像你的程序在命令行下應(yīng)該如何運(yùn)行.</p>
<p><span class="bscan">注意:</span> 當(dāng)用<strong>-jar</strong> 參數(shù)執(zhí)行一個(gè)JAR時(shí),JRE忽視任何顯式的classpath設(shè)置,如果你想在JAR文件的目錄之外運(yùn)行JAR文件,需要這樣寫: </p>
<pre>
java -jar -classpath <full_path>
<main_class_name>
</pre>
<p>怎樣設(shè)置你的環(huán)境變量CALSSPATH,取決于你使用的操作系統(tǒng),參見</p>
<p>"設(shè)置 the class path" at <a href="http://java.sun.com/j2se/1.3/docs/tooldocs/tools.html">http://java.sun.com/j2se/1.3/docs/tooldocs/tools.html</a>.</p>
<a name="rely"></a>
<p><font color="#000080" size="2"><b>你的應(yīng)用的有對(duì)JDK1.1 或者JDK1.2/3(Java2)的依賴嗎?</b></font></p>
<!--BNDX="deployment issues:applets relying on JDK 1.1 or 1.2 ;applets:JDK versions"-->
<p>如果你在開發(fā)一個(gè)applet,這里可能會(huì)產(chǎn)生一個(gè)問題:一些用戶的web 瀏覽器可能沒有升級(jí)到支持JDK1.1 或之后的版本特性開發(fā)的applet,例如Swing.更多信息見<a href="../webapps/applets.html">"Working
with applets"</a> </p>
<p>JDK1.0.2兼容的瀏覽器不支持JAR格式的歸檔文件,因此要?jiǎng)?chuàng)建一個(gè)ZIP格式的歸檔文件.</p>
<a name="libraries"></a>
<p><b><font color="#000080" size="2">用戶已經(jīng)安裝了你需要的JDK之外的類庫了嗎?</font></b></p>
<!--BNDX="deployment issues:libraries;libraries:availability"-->
<p>如果你的程序需要JDK之外的組件,你需要把它們歸檔到JAR文件中。JBuilder的再發(fā)布文件在jbuilder/redist/ 目錄下,JDK的再發(fā)布文件在/java/lib/
和 jbuilder/java/jre/lib/ 目錄下。</p>
<p><span class="bscan">注意:</span>在使用JBuilder 專業(yè)版和企業(yè)版提供Archive Builder工具時(shí),你可以在配置向?qū)?lt;br>
的第4步,通過選擇選項(xiàng)“包括需要的類和資源”來完成。這些選項(xiàng)保證必要的資源加載到<br>
你的JAR文件中。Archive Builder 不會(huì)把JDK加入到你的歸檔文件中,它假定JDK的類庫<br>
已經(jīng)在目的計(jì)算機(jī)上存在,通過安裝JDK,JRE, 或者 <a href="http://www.javasoft.com/products/plugin/index.html">Java
Plug-in</a> or 或者在你的安裝程序中提供. See<a href="deploy_archive.html">"Using the
Archive Builder."</a></p>
<p>如果你確信你的用戶在它們的環(huán)境中會(huì)有這些歸檔文件,由于用戶已經(jīng)安裝了它們,或者通過<br>
你提供的某種安裝過程,那么在你發(fā)布的application或者applet中就不用包含這些包了</p>
<p>如果不能確定用戶具有了這些庫, 則需要你提供. 尤其是在配置Applet時(shí),你需要在服務(wù)器上提供這些庫和其它必須的資源.</p>
<p><span class="bscan">重點(diǎn):</span> 在JDK1.1.1中,Swing/JFC 不作為JDK的一部分發(fā)布,因此如果你用JDK1.1.1開發(fā)<br>
應(yīng)用,你必須下載并發(fā)布swingall.jar來包含這些包。</p>
<p><span class="bscan">參見:</span> <a href="#redistribution">"Redistribution of
classes supplied by JBuilder"</a></p>
<a name="app_or_applet"></a>
<p><font color="#000080" size="2"><b>應(yīng)用是一個(gè)applet還是application?</b></font></p>
<!--BNDX="deployment issues:applets vs. applications"-->
<p>applet和application配置策略是不同的,從嚴(yán)格的配置觀點(diǎn),主要的區(qū)別在于:</p>
<ul>
<li>對(duì)于application,你的用戶需要用java.exe(在JRE中)在服務(wù)器或者它們安裝后的本地來執(zhí)行由你提供的類或者JAR文件。如果你的用戶沒有必需的JRE文件,那么你必須在你的配置工作中完成.</li>
<li>對(duì)于applet,你假定用戶通過Internet 瀏覽器或者applet 查看器來瀏覽你的帶有<applet>標(biāo)識(shí)包含你要執(zhí)行的類的HTML頁面。這種情形下,你必須保證用戶的瀏覽器支持你用來配置的JDK版本,如果不能,就要為它們的瀏覽器提供從Sun得到的正確的Plug-in. 更多的內(nèi)容見, 見<cite>Web Application
Developer's Guide</cite> 的 <a href="../webapps/applets.html">"Working
with applets"</a>
<p><span class="bscan"><font color="#FF0000">重點(diǎn)</font>:</span> 在你計(jì)劃使用Sun的plug-in 之前,確定你閱讀了所有相關(guān)的重要文檔。有幾個(gè)版本的Java Plug-in 和 HTML 的轉(zhuǎn)換器,因?yàn)镻lug-in之間不兼容,因此一次只能安裝一種,Java Plug-in推薦只在可控環(huán)境如intranet下使用,這里你清楚每個(gè)瀏覽器的版本和它們<br>
支持的JDK。</p>
<p>更多的信息見 <a href="http://java.sun.com/products/plugin/">Java <span class="smaller"><sup>™</sup></span>
Plug-in</a>, http://java.sun.com/products/plugin/.</p>
</li>
</ul>
<p><a name="download_time"></a> </p>
<p><font color="#000080" size="2"><b>下載時(shí)間</b></font></p>
<!--BNDX="deployment issues:download time;download time"-->
<p>一個(gè)首要的問題是:是否歸檔你的應(yīng)用,最大的決定因素在于下載時(shí)間和程序大小,尤其對(duì)于applet。</p>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -