java-9相关内容

如何在Java ee功能上表达对maven的依赖,以便过渡到Java 9?

我们使用 maven 并且具有依赖于其他内部工件的工件。我正在迁移到 java-9 ,并打算首先将所有内容迁移到Java 9而不模块化代码(即在未命名的模块中)。 我遇到的问题是我们依赖 java.xml.bind ,现在不包含在默认模块。是否有一种“正确”的方式来表达对Maven的 java.xml.bind 的依赖? 解决方案 模块系统讲述了未命名模块的方式。从类路径加载应用程序 ..
发布时间:2018-11-26 21:46:57 Java开发

如何在Java 9中解决java.lang.NoClassDefFoundError:javax / xml / bind / JAXBException

我有一些使用JAXB API类的代码,这些类在Java 6/7/8中作为JDK的一部分提供。当我使用Java 9运行相同的代码时,在运行时我得到错误,表明找不到JAXB类。 JAXB类已作为一部分提供自Java 6以来的JDK,为什么Java 9不再能找到这些类? 解决方案 JAXB API被认为是Java EE API,因此不再包含在Java SE 9中的默认类路径中。在Java ..
发布时间:2018-11-26 11:59:28 Java开发

Java 9:如何动态地将更多jar文件添加到classpath

我们基于Java的应用程序有一个很小的“bootloader.jar”和核心应用程序jar。核心应用程序jar可以从默认(文件系统)位置加载,也可以从上次运行的应用程序可能已下载更新的jar的其他位置加载。引导程序运行以下代码: final List jars = getJarsToAddToClasspath(); final String mainClassName ..
发布时间:2018-11-19 13:50:25 Java开发

如何创建多版本jar和过滤输入内容?

我想通过 jar 命令创建多版本jar(适用于Java 8和Java 9)。 有几个Netbeans IDE项目:com.jdojo.mrjar.jdk8,com.jdojo.mrjar.jdk9。 项目源代码为此处。 使用命令行我转到父文件夹并运行命令。 当我尝试这样做时: jar --create --file mrjars / com.jdojo.mrjar。 jar - ..
发布时间:2018-11-19 13:49:38 Java开发

Java 9 - “模块”之间的区别是什么?和“JAR”文件?

我正在从 Java9中的新功能中学习Java 9讨论中的一个热门话题是 模块化JDK 。 我有些疑惑: JAR文件是模块吗? 模块与JAR文件有何不同? 解决方案 模块:Java 9中引入的新语言功能(类似于class,interface,package等)由一组包组成,类似于包如何由一组类型组成。 JAR :一种存档文件格式,它捆绑代码和资源,可以由JVM加载。 ..
发布时间:2018-11-19 13:14:21 Java开发

支持专用接口方法

Java 9支持私有接口方法。 此支持允许接口的非抽象方法在它们之间共享代码。私有方法可以是静态的或实例。 接口的私有方法可以是 abstract 还是 default ? 请问一个例子,其中“ private static 接口方法“在代码方面很有用吗? 解决方案 否 ,接口中的私有方法应该设计用于在接口实现内部的一段代码中进行分组。由于这些属于实现(由正文组成)而不是 ..
发布时间:2018-08-08 18:46:59 Java开发

Java默认接口方法的具体用例

Java 9即将推出,更多功能将添加到Java接口,如私有方法。接口中的 default 接口方法在Java 8中添加,基本上是支持在集合中使用lambdas ,而不会破坏与以前版本语言的复古兼容性。 在Scala中,内部方法 trait s非常有用。但是,与使用 default 方法的Java相比,Scala使用不同的方法处理 trait 。考虑多重继承解析或使用 trait s作为 mi ..
发布时间:2018-08-08 18:15:21 其他开发

私有接口方法,例如用例?

“作为添加对Lambda Expressions的支持的努力的一部分,简要考虑将接口中的私有方法支持包含在Java SE 8中,但是为了更好地专注于Java SE 8的更高优先级任务而被撤回。”现在建议支持私有接口方法,从而使接口的非抽象方法能够在它们之间共享代码。“ 所以说 http://openjdk.java.net/jeps/213 并在错误报告中说 ..
发布时间:2018-08-08 18:13:44 Java开发

无法使用module-info在IntelliJ IDEA中编译java 9项目

无法使用module-info在IntelliJ IDEA中编译java 9项目。 创建项目 添加模块 使用main创建一个类(不运行module-info.java) 添加模块信息.java 运行主 失败 配置 模块信息 模块httpexample { } 错误 错误:(1,1)java:文件应位于源路径上,或位于模块的补丁路径上 Intell ..
发布时间:2018-08-08 16:41:37 其他开发

IntelliJ不了解Java9-ea上的java库

我正在使用 jdk9-ea 149 并创建了一个样本 javafx应用程序 IntelliJ不明白java库,它显示红色中的所有import语句,它们都变灰 .even java.util.List,java.util.ArrayList 它有同样的问题。 我可以在外面编译表单,但我无法从 IntelliJ 2016.3.2 Ultimate编译代码版本。 看起来我们需要向Int ..
发布时间:2018-08-08 16:39:00 Java开发

如何在IDEA中使用类路径而不是模块路径运行Java 9应用程序?

当我在IDEA中运行主类时,它将模块及其依赖项放在模块路径上。是否可以将其更改为类路径? 解决方案 如果您没有定义模块信息,IDEA会设置应用程序和您对类路径的依赖关系。由于你有一个模块信息,它是一个显式模块,所以它必须在模块路径上。通常,您现在可以将自己的dependecies作为自动模块处理。 但是,您的依赖关系至少有充分的理由进入类路径。我们在这里讨论了为什么Java 9不会简 ..
发布时间:2018-08-08 16:36:05 Java开发

如何在IntelliJ中使用JDK 9启动新的JavaFX项目

我正在尝试在IntelliJ中启动一个新的JDK 9项目,但是当我尝试运行它时,我在make过程中遇到以下错误: 错误:java:无效标志:-release 我知道我没有正确设置但是可以'似乎找不到任何与在IntelliJ中使用Jigsaw建立项目相关的内容。 编辑 这是一个屏幕截图问题。无法在任何地方找到与此相关的任何内容。 我在IDE中没有编译器错误。它只是在buil ..
发布时间:2018-08-08 16:25:41 其他开发

在IntelliJ IDEA 2017.2.1中无法使用--patch-module编译Java 9模块

我正在尝试熟悉Java 9模块以及如何在IntelliJ中定义它们。除此之外,我想使用 - patch-module 编译器/ JVM标志来解决拆分包问题,我不知道如何使它在IntelliJ中工作。 我正在使用IntelliJ IDEA 2017.2.1使用Java HotSpot(TM)64位服务器VM构建#IC 172.3544.35(内置9 + 180,混合模式)。 这是我的源文 ..
发布时间:2018-08-08 16:24:34 Java开发