JavaOne 2012:掌握Java部署

在吃完一次JavaClass 2012午餐会的意大利经典组合后,我前往希尔顿帝国宴会厅B观看了演示“掌握Java部署”。 来自Oracle的发言人是Mark Howe和Igor Nekrestyano

Howe表示,部署团队的目标是帮助Java开发人员将其应用程序部署到所选平台。 他首先讨论了“功能弃用”。 在某些情况下,有多种方法可以完成同一件事。 例如jarjar和pack200。 通过弃用冗余的(尤其是较旧的)方法,他们不必花费太多时间来支持和修复这些很少使用的东西上的错误。

Howe在JDK 7,JDK 8和JDK 9中显示了不推荐使用和删除的功能表。通常,不推荐使用和/或删除的任何东西都有替代品,使用不推荐使用/删除的功能的人们应该开始寻找最适合的替代品他们。

从JRE 7 Update 6开始,将为Mac OS X发行完全受Oracle支持的JRE。Oracle的目的是同时为所有部署环境修复bug并跨JVM添加功能。 JRE 7与Apple的JRE 6“几乎兼容”。一项更改是与Oracle对其他平台的JVM支持更加一致,并使Oracle在Mac OS X上更新JRE,而不是使用Mac“软件更新”。 一个警告是“当前不支持Mac上的Chrome(仅32位)”。

为了延续平台JVM功能极性的主题,JavaFX现在与JRE for Linux一起提供。 Howe的“ Java和JavaFX的融合”幻灯片显示了一个表格,指示Java和JavaFX融合版本的进度。 JavaFX的目标是成为Java规范中的核心库之一。 JDK 8的计划包括“能够运行JavaFX应用程序的Java启动器”和“用于Java和Javac的启动类路径上的jfxrt.jar”。

豪介绍了Java部署工具包,并将其描述为“简化浏览器中Java内容部署的工具”。 他将deployJava.js(“原始版本”)与dtjava.js(“更好的JavaFX支持和可移植性”)进行了对比。 尽管Mac或Linux上没有自动启动功能,但dtjava.js版本“支持所有平台上的所有部署方案”。

Howe谈到了WebStart,并解释说“用户体验并不像您希望的那样好。” 他将其与dtjava.js的使用进行了对比,后者允许开发人员设置参数以控制从JavaScript启动的过程。 它提供了更多的控制权和更好的用户体验。 这也消除了对固定代码库的需求。 幻灯片中显示的使用dtjava.launch的代码需要JRE 7 Update 6或更高版本。

打包工具的目标是“简化应用程序开发人员的部署”。 命令行工具bin / javfxpackager(或一组Ant任务lib / ant-javafx.jar)可与JDK 7 Update 6一起使用。“ NetBeans的最新版本”支持这些。

豪介绍了完全独立的应用程序的几种动机。 一个独立的应用程序包含“运行应用程序所需的所有工件”。 它具有Java运行时的私有副本,并消除了对外部JRE的依赖。 自包含应用程序的许多动机都围绕着获取当前JRE来运行应用程序的问题。

自包含应用程序的好处包括感觉本机应用程序,改进的兼容性,在新系统上更容易部署,可选的管理特权以及对更新的发行渠道(如Apple Apps Store)的支持。 自包含应用程序的警告包括较大的大小(包括JRE),“下载并运行”而不是WebStart的“单击并启动”,需要按平台构建程序包以及其他当前限制,例如需要在目标机上构建程序包平台和应用程序更新是开发人员的责任。”

要创建一个独立的应用程序,需要JDK 7 Update 6以及可选的第三方工具(例如WiX)才能在Windows上构建MSI。 豪展示了一张带有Ant代码的幻灯片,用于生成自包含的应用程序。 开发人员预览版将允许开发人员选择JVM的目标版本(当前选择是JRE 7 Update 6或JRE Update 10)。 开发人员预览版预计将随JRE 7 Update 10提供。JDK 7 Update 10也预计将支持Mac App Store支持。

像JavaOne 2012上的许多其他演讲一样,也征求了社区反馈。 在这种情况下,部署团队想知道人们需要什么和需要什么才能更有效地进行Java应用程序的Web部署。 豪有一张很好的幻灯片,将可执行的JAR到WebStart与独立的应用程序进行了比较。

Mac App Store不允许应用程序“依赖可选安装的技术”。 其他要求包括需要应用程序“在沙箱中运行”和“遵循UI准则”。 应避免使用某些API(FileChooser)。 有关更多详细信息,请参阅JavaOne 2012幻灯片“在Mac OS X上使用OpenJDK 7部署应用程序”和JavaFX部署指南的后续版本。

Howe的“要记住的关键点”包括Java与JavaFX的合并,Java的新平台,新的部署选项(自包含的应用程序捆绑和部署到Mac App Store)以及弃用旧的部署功能。

一名与会者询问是否有办法在多个共享的独立应用程序之间共享一个JRE。 答案是当前没有办法做到这一点,但是可以选择不将JRE包含在其他自包含的应用程序中。

在回答另一个问题时,发言者表示他们不知道有任何弃用Swing的计划。 他们还回答了另一个问题,即目前尚无Maven支持构建独立的应用程序(使用Ant或NetBeans)。

此演示文稿中显示了几张不错的幻灯片,我希望将来能更仔细地看一下。 幸运的是,Howe表示将提供这些功能。 本届会议涵盖的大部分内容将是开源的,鼓励听众成员为开源项目做出贡献。

参考: JavaOne 2012:在Inspired by Actual Events博客上从JCG合作伙伴 Dustin Marx 掌握Java部署 。


翻译自: https://www.javacodegeeks.com/2012/10/javaone-2012-mastering-java-deployment.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371586.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 提高吞吐量,如何提高网站的吞吐量

吞吐量定义百科吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量)。以上的定义比较宽泛,定义到网站或者接口的吞吐量是这样的:吞吐量是指系统在单位时间内处理请求的数量。这里有一…

使用您自己的规则在Eclipse中自定义PMD

PMD是非常好的Java代码扫描程序,可帮助您避免潜在的编程问题。 它可以轻松扩展以满足您的需求,并且本文将为您带来与JPA的Enumerated注释用法相关的自定义PMD规则的简单示例。 在继续阅读之前,您应该检查我以前的文章之一-JPA-Enumerated def…

yii2之DetailView小部件

DetailView小部件用于展示单条数据记录&#xff0c;可配置属性很少&#xff0c;使用也很简单&#xff0c;直接贴代码&#xff0c;一看就懂&#xff01; yii小部件数据小部件DetailView的使用示例&#xff1a; <? DetailView::widget([model > $user,//模型对象&#xff…

gitlab的安装和基本维护

基本介绍 GitLab是一个自托管的Git项目仓库&#xff0c;可以自己搭建个人代码管理的仓库&#xff0c;功能与github类似。 安装 操作系统&#xff1a;CentOS6.5 gitlab官网下载安装地址&#xff1a;https://about.gitlab.com/downloads/#centos6 1.安装依赖的包 yum install cur…

unity中怎么在InspectorI面板加LOGO

转载于:https://www.cnblogs.com/unitySPK/p/7278925.html

重写到边缘–充分利用它! 在GlassFish上!

现代应用程序开发的一个重要主题是重写。 自从Java Server Faces引入和Java EE 6中新的轻量级编程模型以来&#xff0c;您一直在努力使用漂亮&#xff0c;简单&#xff0c;可添加书签的URL。 PrettyFaces很久以来就一直存在&#xff0c;即使它在3.3.3版本中可以说是成熟的&…

php yii框架路由,yii框架路由配置

首先要在服务器配置(httpd.conf)中开启重写模块#开启重写模块&#xff0c;将其前面的#去掉LoadModule rewrite_module modules/mod_rewrite.so#Directory中允许覆盖开启## Possible values for the Options directive are "None", "All",# or any combinat…

前端面试总结二

一、响应式和自适应的区别&#xff1a; 联系(相同点)&#xff1a; 响应式设计(responsive design)和自适应设计(adaptive design)都是用来解决网页在不同分辨率的屏幕和设备上展示的一项技术(或者说一种方法)。 区别&#xff1a; 响应式设计&#xff1a;通过CSS Media Queries(…

【看番杂感】Clannad系列观后感(剧透慎入)

前言 之前看第一季时&#xff0c;弹幕里总有人在刷“写作cl&#xff0c;读作人生”。当时我想&#xff0c;盲目把一部催泪番上升到人生的高度&#xff0c;这未免有些武断&#xff0c;也是对作品本身的不尊重。当看完第二季的我蓦然回首&#xff0c;发现这才是最最贴切的评价&am…

Centos7 开机显示 ERST: Failed to get Error Log Address Range” 导致无法开机解决方法

开机显示 ERST: Failed to get Error Log Address Range” 导致无法开机&#xff0c;也无法重新安装系统&#xff0c;解决方法&#xff1a;开机进入BIOS &#xff0c; 关闭ACPI选项即可正常开机 转载于:https://www.cnblogs.com/zhangjianghua/p/6376811.html

Spring MVC 3模板和Apache Tiles

对于任何Web应用程序而言&#xff0c;有效的设计考虑因素是使用模板引擎&#xff08;或工具&#xff09;&#xff0c;并且由于具有Spring的“可插拔”特性&#xff0c;因此集成模板机制&#xff08;例如Apache Tiles&#xff09;的确要容易得多。 在这篇简单的文章中&#xff0…

js 判断浏览器是否64位

js判断是否64位 浏览器 navigator.userAgent.match(/x64/i); 转载于:https://www.cnblogs.com/fanlinglong/p/7298733.html

浙江大学linux网络通信,浙江大学钟财军副教授——“Wireless Powered Communication Networks”...

2016年5月17日&#xff0c;浙江大学钟财军副教授应徐正元教授邀请在中科大西区科技实验楼东楼十层1011会议室做了一场题为“Wireless Powered Communication Networks”的学术报告。报告会由龚晨教授主持&#xff0c;共50余名师生参加。此次报告会得到了“中科院无线光电通信重…

[基础]PeopleSoft中的作业和调度作业集合定义

PeopleSoft进程调度器可以使一个或多个进程作为一个组。这个组在PeopleSoft中被称为作业(Job)。 PeopleSoft进程被定义为单个任务&#xff0c;程序或例程&#xff0c;例如cobol程序或AE程序或客户端运行的SQR。 作业由一个或多个相同或不同类型的进程组成&#xff0c;他们作为一…

win10 hyper-v 虚拟机ping不通宿主机问题

在Windows10 Hyper-V 中安装 Linux (Centos6.9)虚拟机无法 ping 通宿主机 这种情况下关闭 Windows 防火墙就能ping通了&#xff0c;当然关闭防火墙不安全。所以需要 做以下步骤: 控制面板-》系统和安全-》Windows防火墙-》高级设置-》入站规则 启用下图被红框选中的两个选…

Java枚举:您拥有优雅,优雅和力量,这就是我所爱!

当Java 8即将面世时&#xff0c;您确定您对Java 5中引入的枚举很了解吗&#xff1f; Java枚举仍然被低估了&#xff0c;很可惜&#xff0c;因为它们比您想象的要有用&#xff0c;它们不仅仅用于通常的枚举常量&#xff01; Java枚举是多态的 Java枚举是可以包含行为甚至数据的…

2)网页请求顺序

&#xff08;1&#xff09;分析浏览器访问一个网页的完整流程逻辑过程&#xff1a;http&#xff1a;//www.abc.com/def/ 转载于:https://www.cnblogs.com/xiaoyoucai/p/7306246.html

JavaOne 2012:调查JVM水晶球

我回到了希尔顿的A / B广场参加星期一的第四届会议&#xff0c;但首先去了希尔顿的顶层收拾午餐。 我每年都在JavaOne的第一天被提醒&#xff0c;涉及到每个人的第一天的午餐获取过程令人惊讶地令人沮丧。 我知道我在JavaOne的第一年的经历使我有些困惑&#xff0c;因为我不确定…

Jquery Memo

jQuery选择器 $( "#id" ) $( ".class" )$( "element" )全选择器&#xff08;*选择器&#xff09; * {padding: 0; margin: 0;}//子选择器 //$(div > p) 选择所有div元素里面的子元素P//后代选择器 //$(div p) 选择所有div元素…

使用JMSTester对JMS层进行基准测试

对于我去过的大多数客户端&#xff0c;使用ActiveMQ扩展JMS消息传递层是一个优先事项。 有多种方法可以实现这一目标&#xff0c;但毫无疑问&#xff0c;创建基准测试并在实际硬件上分析架构&#xff08;或者正如我的同事Gary Tully所说的“询问机器”&#xff09;是第一步。 但…