﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Late Not Bad-文章分类-Java</title><link>http://www.cppblog.com/lateCpp/category/16728.html</link><description>不带感情的学习技术</description><language>zh-cn</language><lastBuildDate>Thu, 05 May 2011 01:34:26 GMT</lastBuildDate><pubDate>Thu, 05 May 2011 01:34:26 GMT</pubDate><ttl>60</ttl><item><title>命令行下 jar 命令  java程序打包成jar文件</title><link>http://www.cppblog.com/lateCpp/articles/145693.html</link><dc:creator>lateCpp</dc:creator><author>lateCpp</author><pubDate>Wed, 04 May 2011 13:54:00 GMT</pubDate><guid>http://www.cppblog.com/lateCpp/articles/145693.html</guid><wfw:comment>http://www.cppblog.com/lateCpp/comments/145693.html</wfw:comment><comments>http://www.cppblog.com/lateCpp/articles/145693.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lateCpp/comments/commentRss/145693.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lateCpp/services/trackbacks/145693.html</trackback:ping><description><![CDATA[写了一个Breakout的小游戏，就是打砖块。<br><br>文件目录如下：<br><br>＝＝＝＝＝＝＝<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ｜__Breakout.java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //程序文件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | __ Breakout.class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //编译生成的class文件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;__acm.jar&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//引用的外部jar包<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; __bounce.au&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //程序中加载的声音文件<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br><br>前提：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 编译java文件，生成Breakout.class文件。我的例子是在eclispe里建工程，运行时直接生成的。因为eclipse的export不能将外部包也导入，所以转用命令行。<br><br><br>步骤1：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;新建menifest-Breakout文件(无后缀名)，内容如下：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">Main</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Class:&nbsp;Breakout<br></span><span style="COLOR: #008080">2</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top>Class</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">path:&nbsp;acm.jar<br></span><span style="COLOR: #008080">3</span><span style="COLOR: #000000"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top></span></div>
<p>说明：</p>
<ul>
    <li>这个文件对应于参数里的 m : 包含指定清单文件中的清单信息</li>
    <li>冒号后面必须有空格</li>
    <li>写完后文件末尾要且一个空行</li>
    <li>如果文件开头有package&nbsp; /your/package/语句，应该把完整包路径（/your/package/xxx.java）写上。</li>
    <li>引用到外部jar的工程，应该在manifest中定义好Class-Path属性。</li>
</ul>
<p>步骤2：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 打包。<br></p>
<p>&#160;</p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 33px; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">jar &nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">cvmf&nbsp;menifest</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">Breakout&nbsp;Breakout.jar&nbsp;Break.</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000">&nbsp;bounce.au</span></div>
<p>说明：</p>
<ul>
    <li>c参数：告诉jar命令来创建新的文件，即jar文件。全称java archive.</li>
    <li>v参数：如同linux下常见的，用来在标准输出中生成详细输出。</li>
    <li>m参数：用来指定清单文件，即上面的manifest-Breakout文件</li>
    <li>f参数： 用来指定要生成的jar文件的文件名。对应于命令里的：Breakout.jar</li>
    <li>如果需要将别的文件一起打包进去，只需要在命令后面直接加上该文件名即可，如bounce.au。</li>
</ul>
<p>步骤3：<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 运行<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">java&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">jar&nbsp;Breakout.jar</span></div>
<p>说明：</p>
<ul>
    <li>需要将生成的Breakout.jar与外部jar文件acm.jar文件放在同一目录下。</li>
    <li>指定打开程序为<img height=49 alt="" src="http://www.cppblog.com/images/cppblog_com/latecpp/java.jpg" width=244 border=0>时，双击可以运行。</li>
    <li>新建一个Breakout.bat文件，将上面的命令写进去，双击也可运行。</li>
</ul>
<p><br>疑问：<br>为什么在Ubuntu上运行该程序时，小球的速度快简直不能玩啊？在WIN上速度正常。<br>难道是因为linux上运行的快？<br></p>
<p><br><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br></p>
<img src ="http://www.cppblog.com/lateCpp/aggbug/145693.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lateCpp/" target="_blank">lateCpp</a> 2011-05-04 21:54 <a href="http://www.cppblog.com/lateCpp/articles/145693.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java带包的源文件编译与执行（命令行下）</title><link>http://www.cppblog.com/lateCpp/articles/145122.html</link><dc:creator>lateCpp</dc:creator><author>lateCpp</author><pubDate>Wed, 27 Apr 2011 02:15:00 GMT</pubDate><guid>http://www.cppblog.com/lateCpp/articles/145122.html</guid><wfw:comment>http://www.cppblog.com/lateCpp/comments/145122.html</wfw:comment><comments>http://www.cppblog.com/lateCpp/articles/145122.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lateCpp/comments/commentRss/145122.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lateCpp/services/trackbacks/145122.html</trackback:ping><description><![CDATA[我的文件放在目录：<strong>D:\GridSim5.2\GridSim\examples\gridsim\example07</strong>下<br>此目录下有&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Test.java<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TestCase1.java<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;TestCase2.java<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestCase3.java<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestCase4.java<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestCase5.java<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestCase6.java<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestCase7.java<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TestCase8.java<br><br>8个java文件。每个文件头都有<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 18pt; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #0000ff">package</span><span style="COLOR: #000000">&nbsp;gridsim.example07;</span></div>
<br>命令。<br><br><strong>额外要求：编译时需要将 D:\GridSim5.2\GridSim\jars\gridsim.jar用-cp命令加入到路径中。<br></strong><br>操作方法：<br><br><span style="FONT-SIZE: 36pt; FONT-FAMILY: 黑体">1.编译：<br></span>进入到源文件所在的目录下，输入命令：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 36pt; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">javac&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">d&nbsp;.&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">cp&nbsp;..\..\..\jar\gridsim.jar;.&nbsp;</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000">.java</span></div>
<br>进行编译。<br><br>几点说明：<br>（1）&nbsp;&nbsp; <strong>-d .</strong> 表示将生成的class文件放在当前目录下。因为有package gridsim.example07语句，所以编译后会在当前目录下生成 <strong>.\gridsim\example07</strong>目录，里面存放了生成的8个class文件。<br><br>（2） <strong>-cp </strong>用来将需要加载的jar包加入到类路径(classpath)中。<br><br><span style="FONT-SIZE: 36pt; FONT-FAMILY: 黑体">2.运行：<br><br><span style="FONT-SIZE: 14pt; FONT-FAMILY: 宋体">依然在源文件所在的目录下，输入命令：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 18pt; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.cppblog.com/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">java&nbsp;</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">cp&nbsp;..\..\..\jars\gridsim.jar;.&nbsp;gridsim.example07.Test&nbsp;time&nbsp;</span><span style="COLOR: #000000">3</span></div>
</span></span><br>说明：<br><br>（1）-cp 参数用来加载必要的jar包。<br>（2）一个分号加一个句号是文档里要求的，这是在win环境下。若是在linux环境下，需要将分号换成冒号。个人理解分号或者冒号是用来分隔路径的。而冒号表示<strong style="COLOR: red">当前路径，或者表示结束</strong>。还有待进一步验证。<strong style="COLOR: red">倾向于表示当前路径</strong>。<br>（3）需要依次将包的引用都写全。 形式如：<strong>packagaename.packagename.classname</strong>
<img src ="http://www.cppblog.com/lateCpp/aggbug/145122.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lateCpp/" target="_blank">lateCpp</a> 2011-04-27 10:15 <a href="http://www.cppblog.com/lateCpp/articles/145122.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>