|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
没有那个大公司会傻了吧唧用.net开发大型项目,开发了,那等于自己一半的生命线被微软握着呢。而.net不行,限制在window系统,又是捆绑,鄙视微软之!程序|打包Antenna打包J2ME程序
作者:Jeru
良多人喜好用ant来编译打包Java使用程序,能够很便利的天生war包在J2EE容器中运转,我在sun的网站上也看到了一篇
用ant打包J2me程序的教程:http://wireless.java.sun.com/midp/articles/ant/
测试了一下,还不错,但十全十美的是,必要本人事前写好manifest.mf和jad文件,因而心有不甘,持续在google上搜刮,
终究找了一个很壮大的ant扩大包,专门打包J2me程序,很有用:http://antenna.sourceforge.net/
一次性能够主动编译,预编译,天生jar,jad,prc(palm的运转程序),乃至包含搅乱代码.你所必要做的只是改极少build.xml里的参数.
上面以UIDemo为例子,给人人share一下打包的历程.(本文合用于有ant利用履历的用户)
起首,假定你已利用过ant,ant_home情况变量已设置好了,把上述网站下载的antenna-bin.jar到场classpath
我在D:MyFolderprojectsj2me下创建了一个UIDemo目次,把J2MEWTKappsUIDemo下的res,src两个目次copy到这里来,
同级目次下创建一个build.xml文件,build.xml内容以下,只要做出了中文正文的几个中央必要修正:
<?xmlversion="1.0"?>
<projectname="UIdemo"default="build"basedir=".">
<!--DefinetheWirelessToolkithomedirectory.Neededbythetasks.-->
<!--设置J2MEWTK路径.-->
<propertyname="wtk.home"value="c:j2mewtk"/>
<!--Definesomeadditionalpropertiesforthisproject.Notrequired.-->
<!--设置midlet称号和根路径.-->
<propertyname="midlet.name"value="UIDemo"/>
<propertyname="midlet.home"value="."/>
<!--Definethetasks.-->
<taskdefname="wtkjad"classname="de.pleumann.antenna.WtkJad"/>
<taskdefname="wtkbuild"classname="de.pleumann.antenna.WtkBuild"/>
<taskdefname="wtkpackage"classname="de.pleumann.antenna.WtkPackage"/>
<taskdefname="wtkmakeprc"classname="de.pleumann.antenna.WtkMakePrc"/>
<taskdefname="wtkrun"classname="de.pleumann.antenna.WtkRun"/>
<taskdefname="wtkpreverify"classname="de.pleumann.antenna.WtkPreverify"/>
<taskdefname="wtkobfuscate"classname="de.pleumann.antenna.WtkObfuscate"/>
<targetname="clean">
<deletefailonerror="false"dir="classes"/>
<deletefailonerror="false">
<filesetdir=".">
<excludename="build.xml"/>
</fileset>
</delete>
</target>
<targetname="build">
<!--Creatanewjad-->
<!--指定midlet的类和图标.-->
<wtkjadjadfile="${midlet.name}.jad"
name="SunSamples-Demos"
vendor="SunMicrosystems"
version="1.0.3">
<midletname="UIDemo"
icon="/res/midp/uidemo/icon.png"
class="midp.uidemo.UIDemo"/>
</wtkjad>
<mkdirdir="classes"/>
<!--Compileeverything,butdontpreverify(yet).-->
<wtkbuildsrcdir="${midlet.home}/src"
destdir="classes"
preverify="false"/>
<!--Packageeverything.Mostofthenecessaryinformationis
containedintheJADfile.Alsopreverifytheresultthis
time.Toobfuscateeverything,setthecorresponding
parameterto"true"(requiresRetroGuardorProGuard).The
versionparameterincrementstheMIDlet-Versionbyone.-->
<!--设置是不是必要搅乱,是不是要预编译,是不是主动辨认版本-->
<wtkpackagejarfile="${midlet.name}.jar"
jadfile="${midlet.name}.jad"
obfuscate="false"
preverify="true"
autoversion="true">
<!--Packageournewlycompiledclassesandthe
resourcesfromtheWTKsdemoapplication.-->
<filesetdir="classes"/>
<filesetdir="${midlet.home}/res"/>
</wtkpackage>
<!--ConverttheJARfileintoaMIDPforPalmOSPRCfile.-->
<wtkmakeprcjadfile="${midlet.name}.jad"
prcfile="${midlet.name}.prc"/>
<!--StarttheMIDletsuite-->
<wtkrunjadfile="${midlet.name}.jad"device="DefaultColorPhone"/>
</target>
</project>
最初在命令行下运转ant,统统就是这么复杂
最初附带说一下ant的安装,也十分复杂,下载返来后设置情况变量ANT_HOME到安装目次,将%ANT_HOME%in到场path就能够了
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。 |
|