📄 java技巧:在清单里设置主类 .txt
字号:
Java技巧:在清单里设置主类
你的用户运行Java applications时会遇到困难吗?你可以创建一个Windows的BAT文件或UNIX的SH文件来帮助他调用application。但是如果你有GUI,那么你就有比这简单得多的办法来解决这个问题了。
在许多现代的桌面上,.jar文件被设置成自动运行。这使得在使用者看来.jar文件的应用是很普通的。他们下载了这个东西,放在他们的桌面上,然后当他们想用的时候点一下就可以了。
这个魔术变起来惊人的容易。每个.jar文件都有一个清单,它们以如下的文件名保存着:
META-INF/MANIFEST.MF
jar命令提供了一个-m选项以指定要用来做清单的文件。以下代码就是这种方法的一个应用。我们来创建一个JarCreator:
jar mf META-INF/JarCreator.mf
com.generationjava.tools.JarCreator.class
一个非常基本的清单包含了版本号和制造商,制造商通常也就是JDK的卖主。比如,Mac OS X中的清单就是象这个样子:
Manifest-Version: 1.0
Created-By: 1.3.0 (Apple Computer, Inc.)
但是,真正的动作却是开始于额外的第三行:
Manifest-Version: 1.0
Main-Class: com.generationjava.util.JarCreator
Created-By: 1.3.0 (Apple Computer, Inc.)
第三行提供了一个类的名字,静态的主函数就是在这个类中运行的。它等价于在这个类中不给任何参数的运行java命令。
一旦.jar被点击,com.generationjava.util.JarCreator类的主函数将被调用,应用也就可以实现了。
学习如何以OO方式创建Web页
如果你正在使用servlet创建Web页,但是却为了将HTML潜入到Java代码中而头疼,那么你可以使用Apache Jakarta Element Construction Set (ECS)。
ECS是一个Java API(applicationprogram interface),它提供了一种创建标记语言的方法。开发者可以委派对象来代表标记语言的一部分,这在一个通常非OO的领域显示了面向对象开发好处。它提供了对WML、XML、VXML和RTF的支持,并且是一个简化代码的有效的工具。
作为例子,下面是一段基本的servlet的代码:
out.write("<html><head><title>");out.write(title);out.write("</title></head>");....
然而,使用ECS,你可以使用对象而无须费心去关闭你的标记,如下:
Htmlhtml = new Html( ).addElement(new Head( ).addElement(new Title(title)));
当你完成Web页面的建立后,只需要简单的将它输出到Servlet的输出流:
html.output(out);
当输出XML是ECS也是非常有用的。无须操心处理所有的标记和进行特殊字符的转义,ECS帮你处理这一切。举例如下:
XMLxml = new XML("person").addXMLAttribute("name", "bayard").addXMLAttribute("location", "alaska").addElement(new XML("poster").addXMLAttribute("name", "tux")).addElement(new XML("poster").addXMLAttribute("name", "gorillaz"));
这段代码产生如下的XML:
<person name="bayard" location="alaska"><poster name="tux"/><poster name="gorillaz"/></person>
访问Apache Jakarta站点可以得到最新版本的ECS。
(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -