包,jar存档文件和部署

本文介绍了Java程序的部署方式,包括本机、远程和两者之间的组合。重点讲述了如何创建可执行的JAR文件,强调了manifest.txt的作用以及使用-d选项将源代码与类文件分离。此外,还解释了包命名规范和如何编译包含包的类。最后,讲解了Java Web Start的工作原理及部署步骤,强调了.jnlp文件和mime类型设置的重要性。
摘要由CSDN通过智能技术生成

包,jar存档文件和部署

  • Java的部署:

    • 本机: 整个程序都在用户的计算机上以独立,可携的GUI执行,并以可执行的Jar来部署
    • 两者之间的组合:应用程序被分散成在用户本地系统运行的客户端,连接到执行应用程序服务的服务器部分
    • 远程:整个应用程序都在服务器端执行,客户端通过非Java形式,可能是浏览器的装置来存取
  • 使用-d选项,将源代码与类文件分离

  • 大部分完全在本机的Java应用程序都是以可执行的JAR来部署的

  • 创建可执行的JAR:

    • 确定所有的类文件都在classes目录下
    • 创建manifest.txt文件来描述哪个类带有main()方法,文件带有Main-Class:文件名,放在classes目录下
    • 执行jar工具来创建带有类以及manifest的JAR文件
  • Java虚拟机能够从JAR中载入类,并调用该类的main()方法。事实上,整个应用程序都可以包在JAR中

  • -jar 标识告诉Java虚拟机所给的是个JAR

  • 包可以防止名称冲突,但这只会在包名称保证不会重复的情况下起作用,最好的方式实在前面加上domain名称

  • 反向使用domain的包名称

  • 把类包进包中:

    • 选择包名称
    • 在类中加入包指令 :必须是程序源文件的第一个语句,每个原始文件只能有一个包指令
    • 设定相对应的目录结构
  • 加上-d选项来编译 *.java 是编译此目录下所有的.java文件

  • -d选项会要求编译器将编译结果根据包的结构来建立目录并输出,如果目录还没有建好,编译器会自动地处理这些工作

  • 一旦类被包进包中,你就不能用“简写”的名称来调用它

  • 你必须在命令栏指定要执行main()的类的完整名称,这包括包的结构

  • 当你把类包进包中,包目录结构必须在JAR中!你不能只是把类装到JAR里面,还必须确定目录结构没有多少往上走。包的第一层必须是JAR的第一层目录。

  • 条列和解压的jar命令

    • 将JAR内容列出 %jar -tf packEx.jar

    • Extract the contents of a JAR(i.e. unjar)

      %jar -xf packEx.jar

  • xf会把.jar解开,你会在当前目录下看到META-JNF和com目录

  • 用户能通过点选网页上的某个连接来启动Java Web Start 的应用程序。一旦程序下载后,它就能独立于浏览器之外来执行。事实上,Java Web Start 应用程序只不过是通过网络来发布的应用程序而已

  • Java Web Start 的工作方式

    • 客户端点击某个网页上JWS应用程序的链接(.jnlp)
    • Web服务器收到请求发出.jnlp文件(不是JAR)给客户端的浏览器
    • 浏览器启动Java Web Start,JWS的helper app读取.jnlp文件,然后向服务器请求MyApp.jar
    • Web服务器发送.jar文件
    • JWS取得JAR并调用指定的main()来启动应用程序
  • 创建与部署Java Web Start的步骤:

    • 将程序制作成可执行的JAR
    • 编写.jnlp文件
    • 把.jnlp与JAR文件放到Web服务器
    • 对Web服务器设定新的mime类型application/x-java-jnlp-file
    • 设定网页连接到.jnlp文件
  • applet无法独立与浏览器之外

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值