Java Service Wrapper Community Edition

软件截图:
Java Service Wrapper Community Edition
软件详细信息:
版本: 3.5.26
上传日期: 17 Feb 15
许可: 免费
人气: 20

Rating: 3.0/5 (Total Votes: 1)

Java服务包装社区版是已设计从地上爬起来,作为一个可配置的,易于使用的工具部署Java一个完全免费且开放源代码的命令行应用程序,软件作为本机UNIX守护进程或Windows背景services.Provides故障修正functionalityIt是一个灵活,可靠和跨平台的软件,提供故障校正功能,它会自动重新启动无响应或崩溃的JVM(Java虚拟机)。此外,该软件提供标准的脚本,方便应用程序的安装和日志记录功能,子进程的管理,定时事件,警告电子邮件,事件的命令,相对内存限制,支持多国语言,以及用户定义的事件和动作。
社区版是在开源许可发行,它大局;功能是有限的,因为你可以用它来只启用Java应用程序作为UNIX守护程序运行,重新启动和监控的JVM,控制进程的优先级,以触发JVM重新启动,线程转储,和关闭,使用自定义的工作目录,使用通配符,以及记录和捕捉JVM控制台output.Getting开始与Java服务包装社区EditionTo开始使用的Java服务包装的社区版,下载对应于您的计算机和rsquo的包; S架构,保存归档你的主目录,解压,打开终端应用程序,进入&lsquo的位置;箱&rsquo的;文件夹(如CD /home/softoware/wrapper-linux-x86-64-3.5.26/bin/),并运行&lsquo的; ./包装&rsquo的;命令,该命令将显示用法信息和可用的命令行options.Runs了广泛POSIX和UNIX类操作系统systemsJava服务包装的分布在三个版本,社区版,标准版和专业版。它与所有的GNU / Linux发行版兼容,但运行在各种POSIX和UNIX类操作系统,包括FreeBSD,AIX,HP-UX,微软在Windows,Mac OS X和Solaris,支持64位(x86_64的),32位(x86),阿梅尔,ARMHf,SPARC,S390,s390x,安腾,PPC(PowerPC等),以及PA-RISC的硬件平台。

什么是新的在此版本中:

  • 在完善的日志消息时,请求JVM重启时的包装是一个国家,它会被忽略(标准版/专业版)
  • 添加额外的调试消息死锁扫描完成时。但没有加入的功能变化,可以很容易地告诉多久扫发生在一个给定的应用程序。
  • 在清理那里的环境变量设置的内部跟踪。没有功能上的改变。
  • 在脚本文件的Cygwin检测用'的uname -o',一些操作系统的(Solaris和MacOS的,等等)显示错误消息,因为'-o'不是一个有效的参数。现在我们隐藏此错误信息,以避免混乱,我们可以猜测的Cygwin没有运行。
  • 添加到控制使用脚本文件systemd运行服务的能力。
  • 在Mac OS X上,确定一个错字,添加另一种替代的方式找到的Java设置JAVA_HOME环境变量,并使用完整路径的情况下执行的sysctl它不是在路径。由于达讷尔斯指出这一点。
  • 在自定义的包装时,固定在新版本的Windows中的一个问题。创建目标时,证书不会被删除。这试图用新的证书签署目标时导致的错误。
  • 在添加缺少的支持,在shell脚本重启/与launchctl在Mac OS X停止包装服务。
  • 在添加缺少的支持,在shell脚本重启/与新贵停止包装服务。
  • 添加设置'苏'命令的路径以及使用新的SU_BIN和SU_OPTS变量来指定在包装shell脚本附加参数的能力的能力。
  • 在WrapperSimpleApp,WrapperStartStopApp和WrapperJarApp辅助类的地方,导致在JVM上的退出启动命令行的问题看起来像是意外退出解决的一个问题。这意味着,该包装会尝试再次重新发起在JVM而不是在第一次尝试放弃。
  • 修改,使得其使用横幅将现在只显示命令行有关的问题WrapperSimpleApp,WrapperStartStopApp和WrapperJarApp辅助类。使用指定的类,方法,或jar文件的问题仍然记录为错误,但显示的是用户在这些情况下使用是混乱的。
  • 修正WrapperResources.getString()方法具有这样的原始字符串,其处理的处理一样具有替代参数的方法没有替代参数。现在,所有的字符串由将MessageFormat类在返回之前处理。以前的版本是不是需要逃避单引号是一致的。
  • 在添加可选的密钥验证,以确保到WrapperResources.getString()方法传递字符串格式正确无误。看到WrapperResources类信息如何启用。
  • 在添加新的选项属性wrapper.backend.type:AUTO,SOCKET,SOCKET_IPv4,SOCKET_IPv6,PIPE。当设置为AUTO,该包装将尝试打开一个套接字IPv4和退回到IPv6和管道在错误的情况下。

  • 不设置区域在启动时从多字节转换为宽字符时,
  • 修正的bug(仅UNIX)。感谢伯特。
  • 添加“CLOSE_BACKEND”别名“CLOSE_SOCKET”作为wrapper.commandfile性测试命令。这是因为已经有多种选择了一段时间的后端连接,并且该名称是更加便于携带。
  • 在运行时,OS X的优胜美地所在的脚本未能正确地进行版本比较'10 0.10'到'10 .5.0“修复Mac上的一个问题。这是导致脚本以为只有32位二进制文​​件可以运行。这只是一个问题,如果正在使用的包装二进制文件的增量包命名。
  • 在添加新wrapper.java.classpath.missing.loglevel性,这使得它可以控制包装如何记录失踪的classpath元素警告。以前,这总是记录为调试输出,不能被禁用。
  • 如果有推出了不相关的配置或JVM本身的Java进程的任何水平低的问题,该包装将不再再试一次这样的重试是毫无意义的。
  • 在Windows系统中的API有因为如果它试图长度超过32767个字符来设置环境变量进程崩溃的一个问题。包装现在检查,这和记录一个错误,而不是设置变量。这是一个问题,如果非常大的类路径中使用时wrapper.java.classpath.use_environment属性为true。
  • Windows不允许命令行为长于在长度32766个字符。不同版本的Windows处理它不同的是提供了这样一个很长的命令时。包装现在做自己的检查,显示以一致的方式错误。
  • 在改进UNIX平台上的错误信息时,在命令行比系统最大更长。该最大变化很大由平台和环境,难以可靠地计算,因此,最大长度不是目前在该消息中所示的
  • 在解决一个问题,在UNIX平台上,其中一个非常大的配置文件可能会导致WrapperManager失败来启动。这是通过配置文件经由后端连接部分转移到WrapperManager引起的。这无论使用何种后端类型会发生。配置文件,将导致改变很大的问题基于特定系统上的大小。
  • 在解决一个问题,在Windows平台上,其中一个非常大的配置文件,将不能被发送到WrapperManager在启动时wrapper.backend.type属性设置为PIPE。唯一的问题是,WrapperManager.getProperties()方法是空的。(专业版)
  • 在添加检查到WrapperManager.exec()在Windows上的方法对32766的最大命令行长度和最大环境变量名称 - 值对32767(专业版)的长度
  • 修正,其中一个免费的NULL指针被正在做的WrapperManager.exec()调用的清理过程的一部分问题。这是不知道造成任何问题。
  • 添加getStdOut(),getStdErr(),和getStdIn()方法的WrapperProcess类作为别名到的getInputStream(),getErrorStream(),和的getOutputStream()方法来帮助避免混淆。
  • 在解决一个问题,在Windows 7中长日志线后得到了字31397损坏时wrapper.console.direct是真实的。这似乎是与底层的Windows API的一个问题,是唯一一个显示问题。减少可写入与单个API调用来30000来解决此问题的最大字符数。这种变化是内​​部的,但还有上线记录的长度没有限制。
  • 修正了一个僵局,如果包装没有写入到后端的时候wrapper.backend.type属性为PIPE。通过代码审查发现,不知道实际上发生了。
  • 从的Mac OSX 10.5.0,该脚本文件将使用launchctl配置文件中的关键“的KeepAlive”。 Mac OSX版之前的版本将继续使用相同的密钥'按需'。感谢罗宾指出这一点。(标准版/专业版)
  • 在不允许使用主机标识托管在OS X系统中的虚拟化的Windows系统上运行时绑定到苹果的蓝牙设备。
  • 在解决一个问题,即WrapperManager.log()不正常工作时,已记录多字节消息。
  • 在调试输出完整的配置属性包从日志输出抑制,因为它是巨大的,可能包含敏感数据。添加一个大小缩写输出,以协助调试。
  • 修正在UNIX平台上的内存泄漏时的错误消息进行了报道。这只是一个问题,如果该消息被重复记录。

  • 通过代码审查发现
  • 修正了几个其他潜在的内存泄漏。不知道已经造成任何实际问题。

什么是3.5.23版本的新

  • 在标准版/专业版:
  • 当一个未知的许可证类型遇到,包括未知类型的错误信息,以帮助调试。
  • 解决内存损坏问题时的语言设置为日语等双字节语言环境的z / OS。
  • 在穿过,使包装更耐用严重时编码的双字节字符遇到。
  • 在Preofessional版:
  • 修改抛出的异常的时候WrapperManager.exec()被调用,而包装是关机,因此现在说,而不是说,没有加载本地库。
  • 在包装现在更小心,以确保后端是永远不会关闭,而一个子进程正在启动,以确保包装知道发动所有的​​子进程。
  • 添加一条警告消息的情况下推出的一个子进程中,由于后端的连接被关闭的包装不通知。
  • 修正,而阅读stdout或stderr输出一个子进程,而包装被关停后的子进程退出可能会引发潜在的NPE。
  • 修正在UNIX平台上的问题,我们在那里卡住这是当前阻止从标准输出或标准错误读取过程后,试图清除。
  • 修正在UNIX平台上,其中超时试图获取子进程列表的内部锁被引起内部计数器不同步的问题,导致了其他终止子进程被留下作为解散的僵尸,直到Java进程终止。
  • 在解决一个问题,在哪里使用的子进程通信的管道文件描述了被不正确地传递给所有的子进程的UNIX平台。他们没有增长一段时间。
  • 在FreeBSD系统中的wrapper.lang.encoding没有解决,以UTF-8正确时没有设置LANG环境变量解决问题。
  • 修正了一个潜在的同步问题,调用WrapperProcess.waitFor()或WrapperProcess.exitValue()。
  • 添加额外的调试日志输出,显示不同的超时值,以帮助用户调试的问题。
  • 在解决一个问题,shell脚本没有正确检测到操作系统版本与Mac OSX特立独行。
  • 添加警告有关未定义环境变量中包含在配置文件中的文件引用。
  • 在添加支持环境变量扩展与wrapper.java.additional_file和wrapper.app.parameter_file属性所指定的文件。
  • 在纠正整数的WrapperUNIXGroup.toString()方法格式化因此它与包装的其余部分保持一致。
  • 在解决一个问题,其中的iconv库的要求不能得到满足了FreeBSD 10.我们现在动态通过寻找/usr/local/lib/libiconv.so定位库,/usr/local/lib/libbiconv.so或/lib/libkiconv.so.4的顺序。
  • 解决的WrapperPrintStream.println()方法,因此含有换行字符串将有正确的每一行前缀与配置的头。

什么在3.5.14版本是新的

  • 在一个固定在AppCommand.bat.in问题文件,其中,在包装的二进制的文件名的括号会造成一个"路径是出乎意料的,此时"错误。
  • (标准版/专业版)
  • 在使用Windows上的64位平台,其中包装将继续使用,即使wrapper.lang来指定不同的语言系统默认语言包装的本地化版本时,解决问题。 3.5.12中引入的。
  • 在那里的“状态”命令被错误地报告为在使用输出'查询'Windows的AppCommand.bat.in命令基于批处理文件中解决问题。 “状态”命令,一直工作正常,如果使用。
  • 修正在UNIX平台上的问题,在一些异步消息被引起的警告消息"编码错误..."代替预期消息的被记录。这可以看出,如果配置的日志文件没有写权限。以外的不正确的日志消息,该包装工作正常。在3.5.2推出。
  • 在UNIX脚本,与暴发户是不正常的时候RUN_AS_USER设置运行解决问题。
  • 在运行针对UNIX shell脚本的“状态”命令时,所以它现在允许任何用户运行该脚本来执行pid文件的只读检查放松安全检查。
  • 解决问题的UNIX脚本,“删除”命令试图停止应用程序没有安装,即使正在运行的应用程序。
  • 修正了一个缓冲区溢出指定wrapper.ntservice.account当Windows服务的安装过程中,这有可能导致崩溃。这被引入3.5.12。
  • 在解决可能发生在启动和可能导致崩溃堆损坏。仅在Windows系统,它使用的系统事件日志,受到影响。从代码审查发现,还没有过的用户,这导致问题的报告。这可能发生,如果配置wrapper.log不能写入的包​​装总是试图写入事件日志在这种情况下。 3.5.12中引入的。
  • 添加UNIX shell脚本和包装之间的一个新的版本相比,开机有显示的情况下的版本不匹配的警告。如果shell脚本和包装都是每人至少版本3.5.14检查只会工作。
  • 在增加了一个新的wrapper.pidfile.strict属性,它会告诉包装不启动,如果已经存在的pid文件。默认为false向后兼容性。
  • 请后端套接字的Java端的情况下读取或写入超时更有弹性。后端套接字没有超时默认设置所以这应该不会有问题。一对夫妇用户报告在特定系统上的问题却导致此修复程序。
  • 为了有助于在后端插座超时的检测,一个新wrapper.backend.so_timeout系统属性的加入使有可能配置在后端插座使用一个超时。看到WrapperManager.exec的Javadoc中()类的细节。

什么在3.5.11版本是新的

  • 在修复Windows上的潜在的崩溃引起的一个缓冲溢出。自3.5.0版本这是一个问题,影响到它的配置定义多个wrapper.ntservice.dependency ..根据什么是在内存中,这并不总是导致崩溃。它有一个给定的配置文件非常重复性的行为。
  • 在修复Windows上的问题,其中包装是服用15秒或更长时间,以启动在某些系统上,因为的WinVerifyTrust系统调用中有更新CRL问题。这曾经是一个问题,因为包装的二进制文件开始在3.5.7版本被签署。如果调用的WinVerifyTrust时间超过配置的wrapper.startup_thread.timeout那么包装将继续毫不拖延地启动。
  • (标准版/专业版)
  • 在自定义明确在删除定制二进制的证书。有辞职的另一个证书二元否则问题。
  • 如果包装是无法写入配置wrapper.logfile以任何理由,然后我们总是回落到一个默认的日志文件,然后记录消息有关失败。如果默认也失败,那么,它也记录但该消息将只被记录到,在大多数情况下,控制台。修改包装,所以我们现在总是同时发送信息到系统日志或事件日志,无论什么样的wrapper.syslog.loglevel设置为。这一点很重要,以帮助追查日志文件访问问题的原因。
  • 使用3.5.0版开始,它是在内部能够打印出多行的日志消息,使得所有的线总是被组合到一起,在日志文件中。这个版本修改记录代码略微使得这种多线日志输出现在记录为在UNIX sylog或Windows事件日志的单个消息。
  • 解决一个问题,即从JVM非常长的行输出将导致包装出现挂起一段时间。第一时间记录包含几十万字的输出单行,内部缓冲区正在逐步增加每周期100个字符。该包装现在增加基于上次已知尺寸大大减少所需选择一个新的缓冲区大小的周期数的大小。
  • 修改PAUSE_THREAD命令,所以现在可以无限期地等待。唯一有用的测试包装。
  • 在添加新PAUSE_LOGGER命令来使人们有可能暂停下一个日志条目。唯一有用的测试包装。
  • 在UNIX,JVM和包装之间的标准输出/标准错误管道没有被正确地清理。这就产生了一个小漏洞,但在其他方面无害的。管道现在清理,并为每个JVM实例初始化。
  • 在解决一个问题,即在包装可能无法重新启动JVM的时候重启请求起源于JVM如果系统正经历导致长时间磁盘IO队列非常沉重的IO。这是使包装的主循环到框上的写和错过重起请求,使所述包装关机,而不是重新启动。这可能会影响到所有平台。在Windows中,它也可以通过选择在控制台冻结输出,然后发出请求的JVM内重启转载。
  • 在添加新WrapperPropertyUtil辅助类,使其easer从JVM中访问封装的属性值。
  • 修正在某些平台上的Java在那里日志输出可能会被损坏,由于一个函数strncpy系统功能使用不当的错误。该功能警告说,一些实现不支持重叠的内存拷贝。下面的输出的一个空行的问题只能被再现一个Linux试验机上在线。 3.4.0以来这个问题一直存在。

什么是3.5.9版本,新的

  • 在修复Windows上的问题,在网络适配器的名字包含" PRO / 1000"从主机标识的列表中被删除时显示" wrapper.exe -h"被运行。这并没有影响到报告3.5.7或更早版本,或开发许可证密钥产生的主机标识现有服务器的许可证密钥文件。但它确实会导致包装报告,当包装未经授权的文件启动没有有效的主机标识可以找到。这是通过一些测试代码3.5.8补充说,我们无法删除而引起的。
  • 在解决一个问题,即包装不正确产生控制权交还给它的主循环时,正在从JVM记录非常大量的连续输出。在3.4.0版本中引入。在之前的版本3.5.8,这可能会造成的JVM超时并重新启动本身。特定的问题得到了解决,但在3.5.8包装过程中仍然会一直反应迟钝的时候,这是发生。包装将现在经过250毫秒连续记录总是性状的回其主循环。
  • 修正了一个问题,即WrapperManager可以阻止试图写入调试输出,如果当前用户应用程序编写非常大量输出到控制台为好。在极端的情况下,这导致了包装以为JVM被冻结。这只是一个问题,如果启用调试输出。
  • 在重组的shell脚本,因此所有版本,现在再次使用相同的脚本。

什么是3.5.8版本,新的

  • 在(标准版/专业版)
  • 在与3.5.5版本开始,我们无效使用的所有00FF *在Windows主机标识,以避免与不断变化的主机标识时,用户可以在他们的系统中的瞻博网络连接的网络适配器。事实证明,这是过于严格的下Parallels客户操作系统上运行也利用这个主机标识范围。包装现在更谨慎地只无效实际瞻博网络连接的主机标识。
  • (标准版/专业版)
  • 在提高向用户显示信息时的包装是无法找到任何主机标识的系统。
  • 修正了在Solaris上,那里的选项-F不可用grep的包装脚本的一个问题。
  • 在包装调试输出添加了Windows版本的信息。
  • 在增加了一个wrapper.log.warning.threshold属性,它使包装显示警告每当它检测到包装花了很长时间来记录日志信息。此溶液中加入上测试非常重负载系统引起的缓慢的IO一个报告的问题。
  • 在解决一个问题,即要求JVM重启过滤器会被忽略,如果JVM立即退出自身。包装是现在比较一致的,因此从JVM或过滤器内重启请求将始终优先于这种退出的请求。外部关闭请求,或从其他行动仍将表现为他们在过去没有,继续关闭包装。包装还记录调试输出消息,如果一个优秀的重新启动请求被保存或忽略。
  • 修正了一个可能发生在某些Windows平台具有一定的多字节编码系统的Ap​​pCommand.bat批处理文件中存在的问题。该脚本已被重写和可疑部位进行了简化。脚本的功能已被保存。
  • 由环境变量WRAPPER_CONF_DIR,其可以用于配置属性。 (功能要求3160644)
  • 在运行该脚本为不同的用户,在指定RUN_AS_USER时所做的脚本退出与正确的退出代码接收。 (错误报告3185281)
  • 在解决访问冲突可能发生在代码签名证书并没有被证实。
  • 请一个错误,如果后端接口被强制关闭外部。它已被越来越处于调试日志级别记录。该消息是"现有的连接被强行关闭远程主机。 (0x2746)&QUOT ;.因为如果启用调试输出只记录消息时,JVM将与没有明确的解释,在重新启动发生了什么事。插座封闭源正在调查中。
  • (专业版)
  • 添加Java调用fireUserEvent到WrapperManager API。这使得用户触发邮件的事件,行动没有过滤器的触发。还请找到该呼叫在安全网页的安全模型的更多细节。
  • 修正在Mac版本的一个警告,如果配置的java命令并不是一个通用二进制。支票中添加了3.4.0,以确保该wrapper.java.command运行脚本时直接指向一个可执行文件,以避免意外行为。该消息仅仅是一个警告和包装继续不顾。标准的PPC,ppc_64,x86_64的,I386,以及通用的二进制文件现在都将正常工作没有警告。
  • 包装物的默认值。*。umask的属性是用当前的umask进程有。以前的默认值总是0022。
  • 在添加用于控制包装是否使用了传统的和QUOT的JVM通信的新wrapper.backend.type财产; SOCKET"或者新的实验和QUOT; PIPE&QUOT ;.这增加了作为一个解决方法,其中一些Windows机器关闭套接字在操作系统级别难得一见的问题。这只是见过在Windows 2003,但也存在于其他Windows版本也是如此。
  • 在添加一个新的实验wrapper.use_javaio_thread属性,它会导致包装来处理所有的java控制台输出在一个专用的线程。
  • 在添加新WrapperManager.isNativeLibraryOk()方法,它可以让用户轻松的代码测试本机库是否被加载并在启动时初始化。
  • 在添加新PAUSE_THREAD命令到wrapper.commandfile财产这使得它可以测试包装的行为时,各个线程阻塞或冻结。这被用来模拟和再现上大量的IO绑定服务器的问题。
  • 在提高,当包装不能ping通JVM为长时间的包装的Java端的行为方式。在JVM用于退出来让自己重新同步自己的JVM。这是造成上是大量IO绑定,因为包装可能阻止了一段时间,而试图写入日志文件和JVM在退出系统的问题。 JVM将现在这样的情况下从来没有退出。 JVM将永远不会成为孤立的,因为它仍然会退出几乎立刻如果后端插座或管道的包装也在不断关闭。
  • 弃用所述WrapperManager.appearOrphan()方法,因为它是用于模拟的故障模式,该模式不再可能与包装
  • 在改变了包装正在处理有关代码签名/时间戳证书的错误的方式。包装现在只有关机本身如果二进制的签名没有成功验证,因为二进制或签名已被畸形但如果用反签名的任何问题已被发现。与3.5.7开始,Windows的包装二进制文件签名。与锁定的Windows 2008系统用户的一些有问题的包装拒绝启动,因为科摩多证书已被禁止在他们的系统。
  • 添加新wrapper.java.detach_started属性,这使得有可能使用的包装作为一个简单的工具来启动Java应用程序。当启用时,包装立即终止,并JVM留给独立运行。
  • 在运行时将包装作为指定的用户帐户,通过wrapper.ntservice.account财产,包装将增加权限的帐户自动安装时登录的服务。 (功能要求#3286491)

什么是3.5.6版本,新的

  • 在固定在UNIX平台上的问题,即日志文件路径正在不正确地计算,如果一个绝对路径是为wrapper.logfile指定,并且该文件不存在。显示一条警告消息,但该包装将继续使用默认的日志文件。有消息显示,造成在某些平台上崩溃包括的Mac OSX中存在的问题。在3.5.5版本中引入的。
  • 修正在Windows平台上的问题,即包装就会崩溃,如果它不能访问配置wrapper.logfile的目录。在3.5.5版本中引入。错误#3087424。
  • 改善当有写入到配置wrapper.logfile问题,使该消息现在将登录到该包装最终使用情况下,它是成功的在回落至一个默认的日志的日志文件警告记录的方式文件中。
  • 在Windows平台上解决了一个问题,wrapper.java.additional。被指定的命令行上,并载空间特性,建立Java命令行的时候并没有被正确地重新报价。在3.3.6版本中引入的。
  • 在解决一个问题,即警告消息记录为wrapper.java.additional无效值。物业,包含损坏的文本。在3.3.6版本中引入的。
  • 在解决一个问题,在UNIX平台上,其中的wrapper.java.additional无效值。财产被正确地被报道,然后跳过,但启动JVM所产生的命令行有这样是导致JVM失败推出一个空值。无效值是不以A&QUOT任何值; - "性格。
  • 添加可用于引用从该包装被发射的工作目录的新WRAPPER_INIT_DIR环境变量。这是需要一定的应用,因为该包装总是改变其工作目录的包装二进制文件的位置。
  • 修改UNIX shell脚本,使其不再改变当前工作目录到脚本的位置。这不再是必需的,因为包装已经改变工作目录到它自己的位置,因为3.2.0版本。
  • 在添加新wrapper.request_thread_dump_on_failed_jvm_exit.delay属性来控制包装多久做一个线程转储杀死Java进程之前之后等待。这种延迟一直硬编码为5秒。
  • 在清理的无效配置值几个警告信息的文字,使其更加一致。
  • (专业版)
  • 添加新wrapper.jvm_kill.delay属性,这使得有可能控制所需的时间量,以允许jvm_kill事件被触发和JVM实际上被杀死之间。




要求

  • 在甲骨文的Java标准版运行环境

意见 Java Service Wrapper Community Edition

评论没有发现
添加评论
打开图片!