IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 包,jar存档文件和部署 -> 正文阅读

[Java知识库]包,jar存档文件和部署

包,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无法独立与浏览器之外

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-07-31 16:29:19  更:2021-07-31 16:31:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 8:15:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码