草庐IT

java - 使用 JDK 8 编译但针对 JRE 7 的 ConcurrentHashMap 崩溃应用程序

我今天遇到了一个非常意外的错误,虽然我能够找到一种方法来解决整个问题,但我不确定我是否完全理解它为什么会这样做。我正在使用的代码最初是用JDK7环境编写的,当然是针对JRE7的。在代码中,我使用了ConcurrentHashMap。并且需要迭代map中的键。为此,我使用了map.keySet()根据JavaDocs应该返回Set.在我们的构建环境切换到JDK8之前,这一切都很好。当我们迁移到JDK8时,我确保在调用javac时调用1.7的目标/源。所以当代码想要遍历map的键时开始失败时,我感到非常惊讶。没有抛出错误,没有异常,线程只是简单地停止了。在做了一些研究之后,我发现Java8

java - 在模块路径上使用 OpenJFX 11 JMODS 在 JDK 11 上运行 javafx 示例

我已经从OpenJFX项目下载了JavaFXJmod文件并将它们放在目录G:\openjfx\javafx-jmods-11中。我正在使用OpenJDK11,它在JAVA_HOME/jmods中没有JavaFXjmod,即它没有随JavaFX发行版一起提供。模块信息文件:modulegui{requiresjavafx.graphics;requiresjavafx.controls;exportscom.test;}我编译如下:javac-pG:\openjfx\javafx-jmods-11-dmods--module-source-pathsrcsrc\gui\com\test\

java - 在哪里可以找到特定版本的 IBM JDK/JRE for Windows?

我正在尝试获得一个与Websphere一起工作的对JDK相当敏感的Oracle软件,我需要找到一些特定版本的IBMJDK来尝试。问题是IBM并没有真正像Sun/Oracle那样提供这些工具,而且我能得到的所有版本都因为这样或那样的原因而无法使用。具体来说,我需要以下之一:适用于Windows的IBMJava5SR9(理想)适用于Windows的IBMJava5SR2适用于Windows的IBMJava5SR10我怎样才能直接从IBM获得这些?我的公司有Websphere的支持契约(Contract),如果我能告诉他们去哪里,我希望能让我们的一位Websphere工程师下载它。

eclipse - 如何在 JDK 中启动 eclipse?

我第一次只是在eclipse中安装了一个Maven插件。现在有关于eclipse启动的消息,我应该在JDK中启动eclipse而不是jre以使Maven组件运行良好。我在eclipse.ini中使用了一个-vm参数:-vmC:\ProgramFiles(x86)\Java\但是重启后信息还在。我试过:C:\ProgramFiles(x86)\Java\bin还有:C:\ProgramFiles(x86)\Java\bin\java.exe但没有任何改变。如何在JDK中启动eclipse?提前致谢。 最佳答案 如果您使用的是Windo

java - Oracle 的服务器 JRE 包含 JDK?

我刚刚下载了适用于JavaSE7的OracleServerJRE(link)我下载的文件是server-jre-7u45-linux-x64.tar.gz。当我提取这个文件时,我惊讶地发现创建了一个名为jdk1.7.0_45的目录,其中包含完整的javaJDK。不是我对JRE安装的期望。这里发生了什么? 最佳答案 答案在父页面上的包说明中:JDK:(JavaDevelopmentKit).ForJavaDevelopers.IncludesacompleteJREplustoolsfordeveloping,debugging,an

java - Maven 依赖项 (jconsole-jdk.jar) 的构建路径问题

这个问题在这里已经有了答案:Missingartifact"sun.jdk:jconsole:jar:jdk"(8个答案)关闭5年前。我切换到Wildfly8.1并不能解决这个构建(路径)问题,这最终不知何故受到了arquillian测试框架的影响。pom.xml:${project.build.directory}/endorsedUTF-81.1.5.Final8.1.0.Final4.11arquillian-jbossas-remoteorg.wildflywildfly-arquillian-container-remote${version.org.wildfly}test

ant - 通过ant编译jdk

我想编译jdk文件以包含调试信息。我想使用ant,因为它包含在我的NetBeans环境中,所以我完成了以下操作:解压/src.zip到tmp目录在我的tmp目录中创建了一个非常简单的build.xml文件(一个默认目标,一个任务):createdajdkwddirectorylaunchedantwithoutparameters(just>log.txt)Thisleadsto100compilationerrorssuchas:[javac]C:\jdkdebug\java\awt\Window.java:196:cannotfindsymbol[javac]symbol:clas

java - JDK1.8.0_92无法编译JSP文件

我们有一个在JBoss6.1上运行的遗留JavaEE应用程序。当使用Java1.8.0_92运行JBoss6时,我们收到以下错误。请帮我解决这个错误或给出一些提示。16:49:32,888ERROR[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/webSSO].[jsp]]Servlet.service()forservletjspthrewexception:org.apache.jasper.JasperException:UnabletocompileclassforJSP:Anerroroccu

cygwin - Sun JDK/在 Cygwin 上打开 JDK

是否可以在cygwin上安装任何版本的SunJDK或OpenJDK。我寻找此选项的原因是:有许多工具(例如jStack、jMap)在JDK的unix版本中可用,但在windows版本中不可用。如果可能的话,我需要使用Cygwin在我的Windows机器上利用它。 最佳答案 Windows版本应该可以正常工作,现在可以预构建https://github.com/alexkasko/openjdk-unofficial-builds/downloads 关于cygwin-SunJDK/在Cy

java - OutOfMemoryException(升级到 JDK 7u45 后)

升级到最新的JDK后,我们(在某些机器上)遇到了一个奇怪的OutOfMemoryException。考虑这个简单的应用程序:publicclassTest{publicstaticvoidmain(String[]args){try{java.text.SimpleDateFormatdateFormatter=newjava.text.SimpleDateFormat("Edd/MM/yyyyHH:mm");System.out.println("formatteddate:"+dateFormatter.format(newjava.util.Date()));}catch(Exc