草庐IT

java - 如何为 Jenkins 工作更改 JDK?

我已经从另一台机器上的现有jenkins服务器导入了jenkins作业。但问题是,它根据旧机器引用了JDK,我想将其更改为使用在我的新jenkins中配置的JDK。但我无法找到任何方法来做到这一点。因此,如果您遇到这种情况并找到了方法,请也帮助我。谢谢。 最佳答案 “作业名称”中有一个JDK下拉菜单->在Jenkinswebui中配置。它将列出Jenkins配置中可用的所有JDK。根据下面的@Derek评论,n个较新的版本,您可以在ManageJenkins->GlobalToolConfiguration->JDK中找到它。请注意

java - Google App Engine JSP 无法部署 : java. lang.RuntimeException : Cannot get the System Java Compiler. 请使用 JDK,而不是 JRE

希望这很简单,但是...除了部署到GAE之外,Eclipse在所有方面都工作得相对较好。我可以在本地运行我的GAE应用程序,但是当我尝试部署到google时,我收到以下消息:java.lang.RuntimeException:CannotgettheSystemJavaCompiler.PleaseuseaJDK,notaJRE.我已将构建路径设置为JDK。尝试从多个系统(win7和win8)部署同一个项目时也会发生这种情况,因此我怀疑问题与项目本身有关。这个特定的项目已经存在并且已经在谷歌上运行了多年。有趣的是,仅当我的应用中有.jsp文件要部署时才会出现此错误。如果我删除jsp文

java - JAX-WS = 安装 Apache CXF 时 "steals"默认 JDK JAX-WS 实现,如何解决?

我有一个奇怪的问题。使用wsimport我从WSDL生成了alsJAX-WS代码(在一个专用的eclipsejava项目中)。这在JDK6中运行良好,没有任何外部依赖项(在Eclipse中运行)我有第二个项目,我曾经使用过ApacheCXF。如果我将1.)中描述的代码复制到这个项目中,突然间不是JDK执行JAX-WS的东西(我生成的文件),而是ApacheCXF。如何防止ApacheCXF“运行”JAX-WS的东西。(问题是,CXF无法运行代码......)。我也完全不明白ApacheCXF是如何发现这些类的。我没有注册吗?非常感谢!马库斯 最佳答案

java - 无法获取系统 Java 编译器。请使用 JDK,而不是 JRE

我得到无法获取系统Java编译器。当jsp文件在我的项目中并且我将它部署到GoogleAppEngine时,请使用JDK,而不是JRE。所以我尝试了以下方法来解决这个问题:将-vmC:\ProgramFiles\Java\jdk1.6.0_43\bin\javaw.exe添加到我的eclipse.ini中。确保JDK位于我项目的构建路径中,而不是jre中。将C:\ProgramFiles\Java\jdk1.6.0_43\bin\添加到环境变量的PATH中。但是这些都没有解决问题。我该如何解决这个问题? 最佳答案 在eclipse.

java - 如何教 eclipse 从 jdk 7 Objects 类生成紧凑的 equals() 和 hashCode()?

几天前,我们在公司内切换到Java7-终于!Jay\o/所以我发现了Objects类,并对hashCode()和equals()方法的实现如此之短感到惊讶,与eclipse默认生成的代码(ALT+SHIFT+S-->H)相比,减少了很多boylerplate代码。我想知道是否可以更改eclipse生成的hashCode()和equals()的默认行为?我很想看到这个:@OverridepublicinthashCode(){returnObjects.hash(one,two,three,four/*,...*/);}而不是这个:@OverridepublicinthashCode()

java - 如何从 Java Web Start (JDK 8) 升级到 jlink (JDK 9+) 以实现自动更新应用程序?

Java8和之前的版本有JavaWebStart,它会在我们更改应用程序时自动更新它。Oracle建议用户迁移到jlink,因为这是新的Oracle技术。到目前为止,这听起来不错。这带来了许多好处:Windows、Mac和Linux上的native代码代码模块化(虽然Proguard也这样做)使用受支持的新技术。问题:我找不到使用jlink自动更新的规范Java解决方案。人们会认为JavaWebStart可以继续使用,尤其是在随便阅读thisdocument时。请注意,JavaWebStart继续在显着位置列出。但是有一个flyintheointment:Oracle正在弃用JavaW

java - File.listFiles() 使用 JDK 6 破坏 unicode 名称(Unicode 规范化问题)

在OSX和Linux上的Java6中列出目录内容时,我遇到了一个奇怪的文件名编码问题:File.listFiles()和相关方法似乎在与系统其他部分不同的编码。请注意,导致我出现问题的不仅仅是这些文件名的显示。我主要对文件名与远程文件存储系统的比较感兴趣,所以我更关心名称字符串的内容而不是用于打印输出的字符编码。这是一个演示程序。它创建一个具有Unicode名称的文件,然后打印出从直接创建的文件中获得的文件名的URL编码版本,以及列在父目录下的相同文件(您应该运行此代码在一个空目录中)。结果显示File.listFiles()方法返回的不同编码。StringfileName="Trîc

java - 如果我从 Sun JDK 切换到 OpenJDK,我必须为哪些惊喜做好准备?

如果我从SunJDK切换到OpenJDK,我需要为哪些惊喜做好准备?什么经常出错?这有多困难?当然,每个应用程序都可能有自己的问题,但我正在寻找问题的类,这是许多人在切换JDK时已经遇到的问题。 最佳答案 OpenJDK不太可能出现任何问题。它现在被认为是100%兼容的。但我认为最好知道哪些部分必须重写,因此不使用与SunJDK相同的代码。Wikipediaentry对此有一个很好的概述:AsofMay2008,theonlypartoftheClasslibrarythatremainsproprietaryandclosed-s

javadoc - Javadocs JDK 11+ 缺少 iFrame View

我一直在使用JavaDocsforJDK11但我注意到iFramesView似乎不再可用。我环顾四周,但看不到任何关于为什么这样做的细节,如果有的话,还有什么替代方案?谁能提供更多细节?适用于JDK10的View适用于JDK11的View 最佳答案 如果其他人有相同的查询,默认情况下不再生成帧。这在JDK-8202961中有介绍Intimespast,toallowfornavigationwithinAPIdocumentation,thestandarddocletpresentedindexesinframesonthelef

java - 如果我使用最新的 JDK 编译 Java 文件,那么旧的 JVM 是否能够运行 .class 文件?

字节码是否依赖于创建它的Java版本? 最佳答案 IfIcompiledajavafileinthenewestJDK,wouldanolderJVMbeabletorunthe.classfiles?这取决于三件事:您正在谈论的实际Java版本。例如,1.4.0JVM可以运行由1.4.2编译器编译的代码,但1.3.xJVM不能1。使用的编译标志。有一个-target编译器标志,告诉它生成将在较旧的(目标)JVM上运行的代码。-source编译器标志告诉它只接受旧版JVM的语言特性。(这种方法并不总是有效,具体取决于您的代码使用的J