我遇到了同样的问题,比如在java applet项目中无法解析JSObject:
这里的问题是,我用java 8和maven构建,所以我不能从构建路径中删除jfxrt.jar,而且JDK和maven依赖项的顺序似乎不能改变。
那么,有没有办法以某种方式排除JavaFX,或者有没有JSObject的替代品呢。getWindow从托管网站调用一些JavaScript?
<罢工>
public JSObject getJSObject() {
try {
Method m = JSObject.class.getMethod("getWindow", Applet.class);
return (JSObject)m.invoke(null, Applet.this);
}
catch (Exception e) {
// do something
return null;
}
}
<罢工> 不需要更改依赖项的顺序。
编辑:它在Eclipse中运行时正常工作,但在浏览器中运行时出现了一个NoSuchMethodException。
但是我找到了另一个选择:
包含plugin.jar
,不要改变顺序。然后,将此方法包含在类中。
public static JSObject getWindow(Applet applet) {
if (applet != null) {
AppletContext context = applet.getAppletContext();
if (context instanceof JSContext) {
JSContext jsContext = (JSContext)context;
JSObject jsObject = jsContext.getJSObject();
if (jsObject != null) {
return jsObject;
}
}
}
throw new JSException();
}
最终找到了解决方案(主要来自http://apache-geronimo.328035.n3.nabble.com/Maven-compiler-endorsed-libraries-tp693448p702566.html):
编译器插件:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArguments>
<endorseddirs>${project.build.directory}/endorsed</endorseddirs>
</compilerArguments>
</configuration>
</plugin>
(如果您有plugin.jar作为maven依赖项:)
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-endorsed-dependencies</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<includeArtifactIds>plugin</includeArtifactIds>
<outputDirectory>${project.build.directory}/endorsed</outputDirectory>
</configuration>
</execution>
...
</plugin>
问题内容: 当代码到达递归调用增量时,我收到错误找不到符号,我不知道为什么?这是增量代码。任何帮助将不胜感激。 编辑:我真的是Java的新手,所以可以做的答案越基本越好。好的,所以我收到的错误是:BigNatural.java.35:找不到符号符号方法增量()位置:类java.lang.String temp.increment() 并在此处清除所有其他问题,是整个代码。 }公共类BigNatur
我有这样的代码:获取一个文本文件,并将其转换为字符串,然后将字符串的部分分离为ArrayList的不同元素。 然而,当我试图编译它时,它给了我两个错误: javac Message.java Message.java:31:找不到符号symbol:变量输入位置:类消息while(input.HasNextLine()){^Message.java:32:找不到符号symbol:变量输入位置:类消息
问题内容: 嘿,我刚开始我的第一本Java编程书籍,所以这应该很容易解决。弄乱我对条件句的新知识,发现标题错误。 这是代码: 当我尝试编译时: 问题答案: 错误消息告诉您变量“输入”在您的作用域中不存在。您可能想使用Scanner对象,但将其命名为“ x”,而不是“ input”。 应该修复它。
这是一个非常简单的网页抓取程序,我用intellij的想法和maven构建系统构建的。它在今天之前工作得很好,但是当我今天试图构建它的时候,它给了我对象没有找到基本java对象的错误,比如字符串和列表。当我试图重新加载maven项目时,我得到了下面的另一个错误。idea也用红色突出了基本的java对象,没有给出任何建议。我做的唯一一件事是稍微修改了java源代码。所以,我用股票你好世界代码进行了测
我一直在尝试使用Eclipse和Forge编译Minecraft mod,但我只是遇到错误,我想这是与链接Minecraft库有关,但不确定这是我的代码 我正在遵循一个指南,应该在最后得到一条“构建成功”的消息。指南是https://blog.usejournal.com/a-beginners-guide-to-modding-Minecraft-9A42536495F6 这里有个错误
由于某种原因,此命令在我的本地计算机上运行良好: 但是,对于Codeship,它现在起作用了,并抛出这个“无法找到符号”错误。在Codeship中,完整命令为: 在POM中,存储库具有以下内容: 错误: