tools.jar 丢失 - 但仅限于第一次调用(Tomcat 8/Java 8/ Axis)

2023-12-12

现在,我将 Web 应用程序升级到了 Java 8,在 Tomcat 8 中运行的 axis Web 服务遇到了奇怪的类加载问题。

安装 Web 应用程序后第一次调用 Web 服务将导致 RuntimeException 和“在类路径中找不到编译器!(您可能需要添加 'tools.jar')”错误。

以下对该 Web 服务的所有调用都可以正常工作(显然 tools.jar 还在吗?)。

通过删除部署目录中展开的 webapp 文件夹可以重现该行为。下次tomcat启动后,第一次调用又会失败。如果分解的文件夹已经存在,则重新启动 tomcat 不会导致该错误。

当 tomcat/webapp 仍在使用 Java 7 运行时,不会发生该错误。

现在,轴心国的错误已经有很长很长的传统了。早期的解决方案是将tools.jar复制到tomcats lib目录中(又名使tools.jar在tomcats类路径中可用)。默认情况下它不存在,因为 axis 显然是使用 JRE 运行的(即使您在 JAVA_HOME 中使用 JDK 启动 tomcat)。

遗憾的是这没有帮助。我尝试了几种方法将tools.jar放入tomcats类路径中:

  • 我将其添加到libs文件夹中
  • 我通过 setenv.bat 将其添加到类路径中
  • 我将其添加到认可的 lib 文件夹中

没有任何帮助,第一次通话仍然失败。

然后我尝试了 JAVA_HOME 和 JRE_HOME。 Tomcat 尽可能以 JRE 启动,并且仅在使用某些需要 JDK 的功能时才使用 JDK。我尝试让 tomcat 使用 JDK 而不是 JRE,但错误仍然存​​在。

那么,提问时间:

  1. tomcat爆webapp.war时类加载与 如果战争在早期的服务器运行中已经爆发了?

  2. 启动时,tomcat 会将以下内容写入日志文件:

服务器版本:Apache Tomcat/8.0.15
服务器建成:2014年11月2日 19:25:20 UTC
服务器号:8.0.15.0
操作系统名称:Windows Server 2008 R2
操作系统版本:6.1
架构:x86
JAVA_HOME:C:\Dev\Java\jdk1.8.0_25\jre
JVM版本:1.8.0_25-b18
JVM 供应商:Oracle 公司
CATALINA_BASE: C:\Dev\apache-tomcat-8.0.15
CATALINA_HOME: C:\Dev\apache-tomcat-8.0.15
命令行参数:-Djava.util.logging.config.file=c:\Dev\apache-tomcat-8.0.15\conf\logging.properties
命令行参数:-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
命令行参数:-Djava.endorsed.dirs=c:\Dev\apache-tomcat-8.0.15\endorsed
命令行参数:-Dcatalina.base=c:\Dev\apache-tomcat-8.0.15
命令行参数:-Dcatalina.home=c:\Dev\apache-tomcat-8.0.15
命令行参数:-Djava.io.tmpdir=c:\Dev\apache-tomcat-8.0.15\temp

所以显然它以某种方式获得了对 JRE 的引用(尽管我只指定了 JDK,请参见上文)。我怎样才能改变这一点?

  1. 更多想法?

Edit2:罪魁祸首是 axis 第一次调用 Web 服务时编译的 .jws 文件。这些编译文件的存在是错误仅在第一次调用时发生的原因。

当然,这根本不能解释为什么第一次调用因“编译器丢失”错误而失败虽然创建必要的编译文件并可用于后续调用...

Edit:根据请求的轴错误的堆栈跟踪。与此处处理丢失的tools.jar 的所有其他主题相比,没有什么特别的:

java.lang.RuntimeException:在类路径中找不到编译器! (您可能需要添加“tools.jar”)
在 org.apache.axis.components.compiler.Javac.compile(Javac.java:156)
在 org.apache.axis.handlers.JWSHandler.setupService(JWSHandler.java:199)
在 org.apache.axis.handlers.JWSHandler.invoke(JWSHandler.java:72)
在 org.apache.axis.strategies.InitationStrategy.visit(InitationStrategy.java:32)
在 org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
在 org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
在 org.apache.axis.server.AxisServer.invoke(AxisServer.java:249) 在 org.apache.axis.transport.http.QSMethodHandler.invokeEndpointFromGet(QSMethodHandler.java:129)
在 org.apache.axis.transport.http.QSMethodHandler.invoke(QSMethodHandler.java:94)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:483)
在 org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226)
在 org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
在 org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
在org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
在org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
在org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1085)
在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
在 org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:277)
在 org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2407)
在 org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2396)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
在 java.lang.Thread.run(Thread.java:745)


我得到的堆栈跟踪中的实际消息是原始发布者的消息,但前面有此消息。

看起来编译器返回的值与预期不同,但编译仍然完成并引发异常。这是来自http://www.docjar.org/html/api/org/apache/axis/components/compiler/Javac.java.html

136             if (modern) {
137                 int compilationResult = 
138                     ((Integer)compile.invoke(compiler, new Object[] 
139                         {
140                             toStringArray(fillArguments
141                                           (new ArrayList()))})).intValue();
142 
143                 result = (compilationResult == 0);        
144                 log.debug("Compilation Returned: " 
145                           + Integer.toString(compilationResult));
146             }
147             else {
148                 Boolean ok = 
149                     (Boolean)compile.invoke(compiler, new Object[] 
150                         {toStringArray(fillArguments(new ArrayList()))});
151         
152                 result = ok.booleanValue();
153             }
154         } catch (Exception cnfe){
155             log.error(Messages.getMessage("noCompiler00"), cnfe);
156             throw new RuntimeException(Messages.getMessage("noCompiler00"));


5-Apr-2015 20:16:42 ERROR 160663 [http-nio-10470-exec-10] org.apache.axis.components.compiler.Javac.compile(Javac.java:155) - No compiler found in your classpath!  (you may need to add 'tools.jar')
java.lang.ClassCastException: com.sun.tools.javac.main.Main$Result cannot be cast to java.lang.Integer
        at org.apache.axis.components.compiler.Javac.compile(Javac.java:137)
        at org.apache.axis.handlers.JWSHandler.setupService(JWSHandler.java:199)
        at org.apache.axis.handlers.JWSHandler.generateWSDL(JWSHandler.java:294)
        at org.apache.axis.strategies.WSDLGenStrategy.visit(WSDLGenStrategy.java:33)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.generateWSDL(SimpleChain.java:104)
        at org.apache.axis.server.AxisServer.generateWSDL(AxisServer.java:454)
        at org.apache.axis.transport.http.QSWSDLHandler.invoke(QSWSDLHandler.java:68)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.axis.transport.http.AxisServlet.processQuery(AxisServlet.java:1226)
        at org.apache.axis.transport.http.AxisServlet.doGet(AxisServlet.java:249)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
        at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:516)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1086)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:659)
        at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:223)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1558)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1515)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:745)

Update

我已经更改了代码 axis-1_4\src\org\apache\axis\components\compiler\Javac.java 如下所示,因为原始代码需要 JDK 8 之前的编译器的整数。 JDK 8 返回一个枚举。我只在我的本地副本上执行此操作并重新构建并且工作正常。

// Call the compile() method

 Method compile = c.getMethod("compile",

                                     new Class [] { String[].class });

 if (modern) {

   log.info("Using modified axis for jdk 8 compiler");  
   Object compilationResult =  (compile.invoke(compiler, new Object[] 

                    {
                        toStringArray(fillArguments
                                      (new ArrayList()))}));

   result = ("OK".equalsIgnoreCase(compilationResult.toString()));        
  log.debug("Compilation Returned: "+ compilationResult);
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

tools.jar 丢失 - 但仅限于第一次调用(Tomcat 8/Java 8/ Axis) 的相关文章

  • Spring Batch 多线程 - 如何使每个线程读取唯一的记录?

    这个问题在很多论坛上都被问过很多次了 但我没有看到适合我的答案 我正在尝试在我的 Spring Batch 实现中实现多线程步骤 有一个包含 100k 条记录的临时表 想要在 10 个线程中处理它 每个线程的提交间隔为 300 因此在任何时
  • Java中反射是如何实现的?

    Java 7 语言规范很早就指出 本规范没有详细描述反射 我只是想知道 反射在Java中是如何实现的 我不是问它是如何使用的 我知道可能没有我正在寻找的具体答案 但任何信息将不胜感激 我在 Stackoverflow 上发现了这个 关于 C
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 在 java 类和 android 活动之间传输时音频不清晰

    我有一个android活动 它连接到一个java类并以套接字的形式向它发送数据包 该类接收声音数据包并将它们扔到 PC 扬声器 该代码运行良好 但在 PC 扬声器中播放声音时会出现持续的抖动 中断 安卓活动 public class Sen
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 斯坦福 NLP - 处理文件列表时 OpenIE 内存不足

    我正在尝试使用斯坦福 CoreNLP 中的 OpenIE 工具从多个文件中提取信息 当多个文件 而不是一个 传递到输入时 它会给出内存不足错误 All files have been queued awaiting termination
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • AWS 无法从 START_OBJECT 中反序列化 java.lang.String 实例

    我创建了一个 Lambda 函数 我想在 API 网关的帮助下通过 URL 访问它 我已经把一切都设置好了 我还创建了一个application jsonAPI Gateway 中的正文映射模板如下所示 input input params
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • simpleframework,将空元素反序列化为空字符串而不是 null

    我使用简单框架 http simple sourceforge net http simple sourceforge net 在一个项目中满足我的序列化 反序列化需求 但在处理空 空字符串值时它不能按预期工作 好吧 至少不是我所期望的 如
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Similiar 不回答

    尝试学习 Selenium 我打开了类似的问题 但似乎没有任何帮助 我的代码 package seleniumPractice import org openqa selenium WebDriver import org openqa s
  • 节拍匹配算法

    我最近开始尝试创建一个移动应用程序 iOS Android 它将自动击败比赛 http en wikipedia org wiki Beatmatching http en wikipedia org wiki Beatmatching 两

随机推荐

  • Android通知图标问题

    我有一个奇怪的问题 我有两种方式在 Android 应用程序中发送通知 一个来自 Android 服务 另一个通过 FCM 场景如下 无论应用程序是否正在运行 从 Android 服务发送的通知的图标都会正确显示 当应用程序运行时 如果我通
  • 绑定(这个)是什么意思?

    我已经知道绑定的作用是将给定的对象或函数绑定到您想要的函数 但是bind this 这真的让我很困惑 是什么意思this in bind真正意思 下面是我的带有 firebase 数据库的 React 应用程序的代码 componentWi
  • 在启用 ARC 的 C 代码中执行 Objective-C 代码时出现运行时内存泄漏警告

    ARC 已启用并且bufferReady正在由 C 库 未启用 ARC 触发 并且我确信我在某处缺少 ARC 转换 请指教 提前致谢 使用下面的代码 implementation HelloWorldLayer id refToSelf r
  • Laravel 使用 AngularJS 只存储多个文件上传文件中的一个文件

    早上好或晚上好 这取决于您何时阅读此主题 我使用 Angular 和 Laravel 编写了这段代码来上传多个文件 但是我从请求中得到的只是一个文件对象 所有其他文件对象都被释放 因此在 laravel 控制器中不会在 foreach 中循
  • 为什么这个记忆实现对匿名函数有效,但对声明的函数无效?

    我正在尝试使用记忆来优化斐波那契函数的显式自递归实现 下面是相当标准的实现 一个简单且相当幼稚的实现 但重点关注实际问题 Function prototype memoize function var originalFunction th
  • 在 GetMessage 循环中未接收到 WM_COMMAND

    有人可以解释一下为什么我从未收到过WM COMMAND我的 GetMessage 循环中的消息 我已经检查过 WndProc 正在接收WM COMMAND消息 所以我很困惑为什么这不起作用 while GetMessage msg NULL
  • .htaccess 重定向后隐藏子目录 url

    我正在将网站重定向到我创建的子目录 该子目录包含 WordPress 的安装 现在我想从网站中屏蔽该子目录 url 现在是这样的http mywebsite com apt 我想从 URL 中删除 apt 我今天尝试了一切 在谷歌上搜索 尝
  • 使用服务层时配置 IoC 容器的正确层是什么?

    我有一个中等大小的 asp net MVC 应用程序 它使用一个服务层来处理所有存储库的使用 调用域服务等 我的控制器操作非常精简 它们基本上调用一个服务类 获取响应并显示该响应 大多数组件都是基于一些穷人的 DI 的接口 该应用程序正在不
  • Pygame 绘图旋转 90 度

    因此 如果您有机会看到我之前的问题 您就会知道我正在与一位朋友一起重现康威的生命游戏 我遇到了另一个问题 绘图由于某种奇怪的原因而被旋转 我认为 x 和 y 位置有问题 但我似乎找不到解决方法 任何帮助表示赞赏 这是代码 Import go
  • 构造函数隐式删除

    下面列出了相关代码 您可以查看https godbolt org z 3GH8zD 我确实可以解决编译器编译错误 但我并不完全清楚其背后的原因 我将不胜感激对这个问题有一些帮助 struct A int x A int x 1 x x us
  • .obj 中已定义变量,但没有循环包含[重复]

    这个问题在这里已经有答案了 我知道 SO 上已经有很多类似的问题和解决方案 我读过它们 但没有一个能帮助我解决我的问题 我创建了一个用于记录的类 这是Logger h ifndef LOGGER H define LOGGER H name
  • java.io.NotSerializedException - org.omnifaces.taghandler.Converter

    我有一个在 Jboss 6 上使用 Primefaces 3 5 和 Omnifaces 1 5 的应用程序 使用 myfaces 2 1 5 尝试使用o converter我收到以下错误 org omnifaces taghandler
  • 使用数组求偶数和奇数平均值

    编写一个程序 从用户那里读取 10 个值的列表 将值放入数组中 程序应读取数组 然后计算并显示偶数输入值和奇数输入值的平均值 这应该使用对象 方法和测试器类来完成 我不明白为什么我收到错误 二元运算符的操作数类型错误 我不知道该改变什么 我
  • 使用 CloudFormation 模板部署 IIS 网站

    我有一个 Visual Studio C 部署包 zip 已将其推送到我的 S3 存储 我想运行我的 CloudFormation 脚本并让它创建 IIS 服务器的实例 我有用于此的脚本 然后将 Visual Studio 网站从 S3 存
  • 使用 cron 安排 R 脚本

    我正在尝试使用 cron 安排我的 R 脚本 但它不起作用 R 似乎在 cron 中找不到包 有人可以帮助我吗 谢谢 以下是我的 bash 脚本 source my profile home winie profile script R w
  • Java 8 链式方法参考?

    假设有一个典型的Java Bean class MyBean void setA String id void setB String id List
  • Javascript:sum(2)(3) //返回5是什么意思;

    这是返回其值的代码 function sum a return function b return a b sum 2 3 它返回 5 但如果我输入代码 function sum a function add b return a b re
  • 跟踪 Informix Client for Linux 的 ODBC 调用

    我尝试跟踪 Linux 上运行的程序中的 ODBC 函数调用 该程序动态链接 ODBC 管理器 然后连接到数据库并获取一些数据 我可以通过添加到 odbcinst ini 来使用 unixODBC 跟踪 ODBC 调用 ODBC Trace
  • 没有方法获取字节数组流[重复]

    这个问题在这里已经有答案了 我想获取字节数组流 但我发现Arrays没有获取字节数组流的方法 byte byteArr new byte 100 Arrays stream byteArr Compile time error 我的问题 为
  • tools.jar 丢失 - 但仅限于第一次调用(Tomcat 8/Java 8/ Axis)

    现在 我将 Web 应用程序升级到了 Java 8 在 Tomcat 8 中运行的 axis Web 服务遇到了奇怪的类加载问题 安装 Web 应用程序后第一次调用 Web 服务将导致 RuntimeException 和 在类路径中找不到