使用Project Jigsaw的JDK 9 Early Access上的Eclipse IDE

几周前,我写了关于在Java 9上运行Eclipse Neon的文章 (尽管,我在帖子标题中错误地和令人尴尬地留下了“火星”)。 值得注意的是,我列出的步骤也适用于带有Project Jigsaw (Java模块化)构建的JDK 9 Early Access 。 Eclipse Neon在拼图上工作。 我一直在使用这种组合在一些我一直在修补的新插件上进行实际开发(稍后再介绍)。

使用在JDK 9 + Jigsaw上运行的Eclipse Neon M2开发一些新的插件。

使用在JDK 9 + Jigsaw上运行的Eclipse Neon M2开发一些新的插件。

Jigsaw以其当前形式提供了一个定义明确的可见性模型,该模型管理可从其他模块访问模块的哪些部分。 作为其一部分,它可以防止您访问内部代码。 例如,多年来,我们一直被警告说,使用com.sun.*软件包是僵尸程序,而Jigsaw则打算为此做些事情。 模块化的JDK将这些内部程序包从依赖的模块中隐藏起来,并在尝试访问它们时(编译器和运行时)抛出异常。

作为在类路径上运行的“遗留” Java应用程序,Eclipse IDE作为未命名模块 (Voldemodule?必须不命名的模块?)运行。未命名模块在运行时具有特殊状态,但仍受可见性约束限制。 我将在后面的文章中保存更详细的讨论。 我今天的观点是, Eclipse IDE仅可用于JDK 9拼图构建。 至少在我测试过的Fedora 22和Windows 8系统上确实如此。 我很想了解您的经验。

Jigsaw构建带有一个方便的工具jdeps ,它可以进行与模块依赖项有关的各种事情
(请注意,此工具仅包含在Jigsaw版本中) 。 该功能包括扫描Java代码以确定是否违反模块化模型所施加的任何限制的功能。

我在Mars.1存储库上运行了jdeps ,以了解我们可能要完成的工作,并且对Eclipse Project代码对内部API的引用很少感到惊讶。 也许我最大的担心是在SWT_AWT桥中引用了一个内部类( 错误482318 )。 当我调查其他命中时,我将打开其他错误。

同时,如果您想检查自己的代码是否违反规定,则可以自己运行jdeps 。 带有Project Jigsaw构建的JDK 9 Early Access只是归档文件,您可以将其解压缩到您选择的目录中(它不会更新系统上的任何路径或配置)并执行:

~/jdk1.9.0> bin/jdeps -jdkinternals /path/file.jar

/path/file.jar指向一个或多个文件(例如〜/ .p2 / plugins / *。jar)。

纠正:jdeps包含在Java 8和9版本中。

在引起您注意的同时,请务必为EclipseCon 2016进行演讲!

翻译自: https://www.javacodegeeks.com/2015/11/eclipse-ide-on-jdk-9-early-access-with-project-jigsaw.html

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

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

相关文章

arduino蜂鸣器_板卡推荐BPIUNO32 arduino 开发板,支持webduino与arduino应用

BPI:UNO32(也称为BPI-UNO32,被称为BPI UNO32)是一个带有Xtensa 32位LX6的单/双核心处理器的嵌入式系统的ESP32。支持Webduino和arduino的功能。BPI-UNO32使用的是esp-WROOM32,MCU。ESP32是一种集成2.4 GHz Wi-Fi和蓝牙双模式的单芯片解决方案。该公司的4…

Unity优化之GC——合理优化Unity的GC (难度3 推荐5)

原文链接:http://www.cnblogs.com/zblade/p/6445578.html 最近有点繁忙,白天干活晚上抽空写点翻译,还要运动,所以翻译工作进行的有点缓慢 。 本文续接前面的unity的渲染优化,进一步翻译Unity中的GC优化,英文…

centos重置系统_双系统下Linux系统无法启动及其引导丢失之解决

背景介绍: 很久很久以前, 我在 NewSurfacePro(SP5) 里插了一张 128G 内存卡, 费力九牛二虎之力在上面装了 Deepin, 后来在某次不知道是 Windows 还是 Deepin 更新后, Deepin 启动时总要发生一个极具 Linux 特色的启动错误, witch 似乎在我树莓派上出现过, 折腾了很久也没好, 就…

Java 7和Java 8之间的细微自动关闭合同更改

Java 7的try-with-resources语句和与该语句一起使用的AutoCloseable类型的一个不错的功能是,静态代码分析工具可以检测到资源泄漏。 例如,Eclipse: 具有以上配置并尝试运行以下程序时,您将收到三个警告: public stat…

reduce python3_更少循环?看看这3个Python函数

原标题:更少循环?看看这3个Python函数 全文共1146字,预计学习时长5分钟图源:wired 诞生于1991年的Python,这几年突然火了。简历上有了Python,就业竞争力瞬间提升,甚至一些小学教材上都出现了Pyt…

java图片上传(mvc)

最近有开始学起了java,好久没写文章了,好久没来博客园了。最近看了看博客园上次写的图片上传有很多人看,今天在一些篇关于java图片上传的。后台接收用的是mvc。不墨迹了,直接上图。 先看目录结构。idea开发。 一、图片上传还是使用的这款jq插件。前端部署…

appengine_Google AppEngine:任务队列API

appengine任务队列 com.google.appengine.api.taskqueue 使用任务队列,用户可以发起一个请求,以使应用程序执行此请求之外的工作。 它们是进行后台工作的强大工具。 此外,您可以将工作组织成小的离散单元(任务)。 然后…

Android studio Error occurred during initialization of VM 问题解决

最近开发导入其他Android项目遇见的问题,如下图: 解决办法: 将org.gradle.jvmargs的值该为521(堆内存分配过高导致) 备忘,希望能帮助到大家转载于:https://www.cnblogs.com/yunfang/p/6857096.html

滑动窗口限流 java_Spring Boot 的接口限流算法优缺点深度分析

点击上方蓝色字体,选择“标星公众号”优质文章,第一时间送达上一篇:这300G的Java资料是我师傅当年给我的,免费分享给大家(已修复)下一篇:昨天分享资料不小心把百度网盘深处的秘密泄露了(已修复)转自: loubobooo原文&am…

mips j指令_MIPS的基本实现

MIPS核心指令集:指令集概括为3个指令类:存储器访问指令类lw,sw等2. 算术逻辑指令类add,sub等3. 转移指令类beg,J等指令的共同性取指令,送PC值给Memory;根据指令内容读取寄存器内容;除…

腾讯管家去除桌面快捷小图标

找了大半天,原来腾讯管家也可以: 废话不多说,动手实践吧。。。。。 打开电脑管家——电脑诊所——桌面图标——【去掉快捷方式小箭头】 就这样轻松的实现了,赶快试试吧! 转载于:https://www.cnblogs.com/yjq520/p/6858…

argparse模块_Argparse:一个具体案例教会你python命令行参数解析

问题描述:现有一个用于数据格式转换的py脚本(多转一),执行时通过命令行传入一系列的参数控制其具体运行方式,使满足以下要求:1. 必须传入需要处理的原始数据文件名2. 可以指定输入文件的格式,若没有指定则使用默认值&a…

Eclipse中src/main/resources配置文件启动问题

项目pom文件有做修改如下的时候,还没有进行mvn clean install 启动test项目中的appcontext会 可以手动清空 然后就可以了。 出现如下问题的原因是 配置文件默认输出到target/classes 下 项目启动默认也会找该目录下的配置文件 其实这里pom文件拷贝配置文件只是用于读…

仍然不安全:变成了Java 9功能的Java 6中的主要错误

sun.misc.Unsafe的未来将如何发展? 随着2015年即将结束,我们认为这将是对Java社区过去一年中最热门辩论之一进行尸检的好机会。 通过查看标题,您中的大多数人可能已经开始在口腔中产生酸味并在肠道中产生愤怒的感觉,但是如果您错…

camvid数据集使用方法_使用PyTorch处理CIFAR10数据集并显示

在训练图像分类的时候,我们通常会使用CIFAR10数据集,今天就先写一下如何展示数据集的图片及预处理。第一部分代码,展示原始图像:import numpy as npimport torch#导入内置cifarfrom torchvision.datasets import cifar#预处理模块…

rhel 8.2不识别unicode_基于tensorflow 实现端到端的OCR:二代身份证号识别

最近在研究OCR识别相关的东西,最终目标是能识别身份证上的所有中文汉字数字,不过本文先设定一个小目标,先识别定长为18的身份证号,当然本文的思路也是可以复用来识别定长的验证码识别的。本文实现思路主要来源于Xlvector的博客&am…

Lua和C++交互详细总结

转载自:http://www.cnblogs.com/sevenyuan/p/4511808.html 一、Lua堆栈 要理解Lua和C交互,首先要理解Lua堆栈。 简单来说,Lua和C/C语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。 在Lua中,Lua堆栈就是一个struc…

adf开发_ADF BC:创建绑定到业务组件的UI表

adf开发在此示例中,我们将展示如何创建绑定到业务组件的简单UI表(af:table)。 我再次尝试使用简单的标准在网上进行搜索: “如何创建绑定到业务组件ADF 11g的af:table” 我必须承认我没有得到我想要的答案…

java游戏热血江湖,热血江湖源码_附安装教程

释放双眼,带上耳机,听听看~!源码里面可能有联系方式之类的不要相信,反正我在这里已经说过了,你们上当就不管我的事了还有,源码里面的联系方式跟我没关系!教程来了认真看!!&#xff0…

在没有适当上下文的情况下引发异常是一种不良习惯

Allison Anders等人的《四个房间》(1995)。 我不断重复同样的错误。 因此,该停止并制定规则以防止这种情况了。 错误不是致命的,但很烦人。 当查看生产日志时,经常会看到类似"File doesnt exist" &#xff…