因此,我在WorkingSoap客户端示例中使用SOAP示例,将其放入文件中SOAPClientSAAJ.java
,然后尝试对其进行编译(Debian上的Openjdk
9):
t@h ~/javatest> javac SOAPClientSAAJ.java
SOAPClientSAAJ.java:1: error: package javax.xml.soap is not visible
import javax.xml.soap.*;
^
(package javax.xml.soap is declared in module java.xml.ws, which is not in the module graph)
1 error
谷歌搜索了一些之后,我发现编译和运行为
t@h ~/javatest> javac --add-modules java.xml.ws SOAPClientSAAJ.java
t@h ~/javatest> java --add-modules java.xml.ws SOAPClientSAAJ
作品。另请参见此视频的一般背景:https
:
//www.youtube.com/watch?v=y8bpKYDrF5I&t=20m17s
现在,问题:
这是新的Java 9模块的结果。该javax.xml.soap
软件包实际上是Java
EE软件包
,因此现在不可见。当前的解决方法是要么使用--add- modules
,要么对您的代码进行模块化。
模块化代码需要将其重组为模块,并包括一个module-info.java
指定正在使用的模块的文件。在您的情况下,指定java.se.ee
将允许访问所有EE模块。
因此,我在工作SOAP客户机示例中使用了SOAP示例,将其放入一个文件,并尝试编译它(Debian上的Openjdk 9): 在谷歌搜索了一些之后,我发现编译和运行 作品。请参阅此视频了解一般背景:https://www.youtube.com/watch?v=y8bpKYDrF5I 现在,问题: 编译器不应该自动添加java模块吗。xml。ws?(因为它显然知道需要它)这是javax中的一个bu
问题内容: 我有一个使用Java Webstart技术的项目。我决定将Java版本从8升级到9。但是,在编译时遇到以下错误: 我试图将其包含到类路径中,但仍然存在相同的问题。 问题答案: 看起来默认情况下,类路径上的代码未解析 java.jnlp (非常类似于Java EE模块 )。解决的办法是用明确添加(两者并接受参数)。 JEP 261:模块系统 或此博客文章中讨论了此选项。
我有一个使用JavaWebStart技术的项目。我决定将Java版本从8升级到9。但是,我在编译时遇到了以下错误: 我试图包括到类路径,但仍然存在相同的问题。
我们即将从java8迁移到java9,在我们的代码中我们使用的是soap,因此我需要告诉eclipse使用java.xml进行编译。ws模块。 在第一步中,我不想模块化项目(即添加module-info.java)。相反,我想将每个依赖项保留在未命名的模块中,因此我需要另一种方法将java.xml.ws模块添加到eclipse java编译器中(希望通过使用--add模块=java.xml.ws但
use 声明可以将一个完整的路径绑定到一个新的名字,从而更容易访问。 // 将 `deeply::nested::function` 路径绑定到 `other_function`。 use deeply::nested::function as other_function; fn function() { println!("called `function()`"); } mod de