javaone_JavaOne 2012:掌握Java部署

javaone

在为另一场JavaOne 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

javaone

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

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

相关文章

C++异常处理机制详解

异常处理是一种允许两个独立开发的程序组件在程序执行期间遇到程序不正常的情况(异常exception)时相互通信的机制。本文总结了19个C异常处理中的常见问题,基本涵盖了一般C程序开发所需的关于异常处理部分的细节。 1. throw可以抛出哪些种类…

Github pull request 工作流总结

github 上面有很多非常不错的开源项目,我们也可以向其贡献自己的代码,那么我们如何提交自己的代码给开源项目呢?这里就要用到 pull request 的提交方式。当然,基于 git 的其他平台也是类似的用法。 假设源仓库为:https…

[MEGA DEAL] Java编程-硕士课程(85%折扣)

获得有关Java所有事物的高级分步指导 嘿,怪胎, 本周,在我们的JCG Deals商店中 ,我们提供了一个极端的报价 。 我们提供的Java编程–硕士课程 仅售29美元,而不是原始价格149美元 ,是的,可享受…

java中对象别名使用_JAVA中的别名现象

问题的提出:在java中,对基本数据类型的赋值时,是将数据从一个地方复制到另外一个地方,当ab时,将b的内容复制给a,若修改a时,b并不会受到这种修改的影响。在对对象进行赋值时,当我们对一个对象进行…

C/C++中的运算符优先级总结

C语言中的运算符 说明 运算符 结合性 初等运算符 () [] -> . -> 单目运算符 ! ~ -- - (类型) * & sizeof <- 算术运算符 * / % -> 算术运算符 - -> 移位运算符 << >> -> 关系运算符 > > < < -> 关系运算符 ! -> 按位与…

nginx 直接在配置文章中设置日志分割

直接在nginx配置文件中&#xff0c;配置日志循环&#xff0c;而不需使用logrotate或配置cron任务。需要使用到$time_iso8601 内嵌变量来获取时间。$time_iso8601格式如下&#xff1a;2015-08-07T18:12:0202:00。然后使用正则表达式来获取所需时间的数据。 按天分割日志 使用下面…

javaone_JavaOne 2012:JavaOne技术主题演讲

javaoneMark Reinhold从JavaOne 2012技术主题演讲开始。 他说&#xff0c;今年的版本将有所不同&#xff0c;因为它将使用大致相同的示例来说明Java的各个方面&#xff0c;而不是对Java的每个组件进行单独的单独介绍。 JavaFX团队的Richard Bair和Jasper Potts &#xff08;并与…

java sqlserver 死锁_sqlserver数据库发生死锁处理

SQLSERVER数据库锁表1. 查看被锁的表select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableNamefrom sys.dm_tran_locks where resource_typeOBJECT2. 解除表的锁定declare spid intSet spid 57 --锁表进程declare sql varchar(1000)set sqlk…

setjump和longjump

int setjmp( jmp_buf env );void longjmp( jmp_buf env, int value );# setjmp(j)设置“jump”点&#xff0c;用正确的程序上下文填充jmp_buf 对象j。这个上下文包括程序存放位置、栈和框架指针&#xff0c;其它重要的寄存器和内存数据。当初始化完jump 的上下文&#xff0c;se…

jmeter操作数据库

1) jmeter不能直接连数据库&#xff0c;需要先添加jar包。 然后将jar包的路径添加到下图&#xff1a; 2) 操作数据库之前要知道数据库的信息&#xff08;ip、端口号、账号、密码&#xff09;&#xff0c;操作哪个数据库就连哪个&#xff1a; 在配置元件-JDBC Connectio…

使用Hystrix DSL创建弹性骆驼应用程序

Apache Camel是一个成熟的集成库&#xff08;到现在已有9年的历史了&#xff09;&#xff0c;它实现了Enterprise Integration Patterns一书中的所有模式。 但是Camel不仅是EIP实现库&#xff0c;它还是一个不断发展&#xff0c;添加新模式并适应行业变化的现代框架。 除了在每…

php7 对象转数组,php7中为对象/关联数组进行解构赋值

在CoffeeScript&#xff0c;Clojure&#xff0c;ES6和许多其他语言中&#xff0c;我们对对象/贴图/等进行了解构&#xff0c;如下所示&#xff1a;obj {keyA: Hello from A, keyB: Hello from B}{keyA, keyB} obj我在php中找到了这个list函数&#xff0c;可以让你像这样构造数…

虚函数表

虚函数   C中的虚函数的实现一般是通过虚函数表(C规范并没有规定具体用哪种方法&#xff0c;但大部分的编译器厂商都选择此方法)。 类的虚函数表是一块连续的内存&#xff0c;每个内存单元中记录一个JMP指令的地址。 注意的是&#xff0c;编译器会为每个有虚函数的类创建一个…

linux bash tutorial

bash read-special-keys-in-bash xdotool linux 登录启动顺序转载于:https://www.cnblogs.com/shaohef/p/9528927.html

centos7安装php8,centos8安装php7.4

一&#xff0c;下载php7.41&#xff0c;官方网站:https://www.php.net/2,下载[rootyjweb source]# wget https://www.php.net/distributions/php-7.4.2.tar.gz说明&#xff1a;在linux上以编译方式安装软件时&#xff0c;多数人都习惯把软件安装到 /usr/local目录下&#xff0c…

C++的四种强制类型转换

C的四种强制类型转换&#xff0c;所以C不是类型安全的。分别为&#xff1a;static_cast , dynamic_cast , const_cast , reinterpret_cast 为什么使用C风格的强制转换可以把想要的任何东西转换成合乎心意的类型。那为什么还需要一个新的C类型的强制转换呢&#xff1f; 新类型的…

MongoDB系列之——安装和启动

CentOS 7 安装MongoDB 4.0 社区版 1. Yum安装 创建Yum仓库先创建新的文件 vim /etc/yum.repos.d/mongodb-org-4.0.repo  在新文件中填入     [mongodb-org-4.0] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/…

javaone_JavaOne 2012:JavaFX图形技巧和窍门

javaone我回到希尔顿&#xff08;皇家宴会厅B&#xff09;看了Richard Bair的&#xff08;Oracle Java Client Architect&#xff09;的“ JavaFX图形技巧和窍门”。 Bair与FX Experience相关联&#xff0c;并且显然了解JavaFX。 拜尔说&#xff0c;他演讲的主题是表演。 他告诫…

php pdo 参数绑定,PDO预处理之参数绑定和列绑定

摘要&#xff1a;PDO查询中&#xff0c;2个绑定操作&#xff1a;参数绑定与列绑定&#xff1b;参数绑定&#xff1a;bindParm() 和 bindValue();bindParm(:占位符,变量,类型常量) 类型常量默认为字符串bindValue(:占位符,值或变量,类型常量) 如果直接传值&#xff0c;可省略类型…

自定义C++异常处理

例1&#xff1a;自定义一个继承自excepton的异常类myException C标准中&#xff0c;定义在<stdexcept>中的任何异常类都派生自exception Class&#xff0c;本例也只是简单地由exception继承&#xff0c;在try段抛出一个异常并捕捉。代码如下&#xff1a; /* test.cpp ve…