我最近切换到 eclipse 2020-06 进行 JEE 开发,结果是一个挫折。每当需要操作时,它都会保持冻结:进入类定义,按 ctrl 并选择任何项目(类、方法等)。eclipse 日志充满了这些错误:
java.util.concurrent.TimeoutException
at java.util.concurrent.CompletableFuture.timedGet(Unknown Source)
at java.util.concurrent.CompletableFuture.get(Unknown Source)
at org.eclipse.lsp4e.LanguageServerWrapper.supportsWorkspaceFolderCapability(LanguageServerWrapper.java:544)
at org.eclipse.lsp4e.LanguageServerWrapper.canOperate(LanguageServerWrapper.java:863)
at org.eclipse.lsp4e.LanguageServiceAccessor.lambda$6(LanguageServiceAccessor.java:361)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.util.HashMap$KeySpliterator.forEachRemaining(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.collect(Unknown Source)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLSWrappers(LanguageServiceAccessor.java:362)
at org.eclipse.lsp4e.LanguageServiceAccessor.getLanguageServers(LanguageServiceAccessor.java:588)
at org.eclipse.lsp4e.operations.rename.LSPRenameHandler.isEnabled(LSPRenameHandler.java:128)
at org.eclipse.ui.internal.handlers.HandlerProxy.isEnabled(HandlerProxy.java:300)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.canExecute(E4HandlerProxy.java:78)
at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:319)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:253)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.isEnabled(HandlerServiceHandler.java:62)
at org.eclipse.core.commands.Command.isEnabled(Command.java:832)
at org.eclipse.ui.menus.CommandContributionItem.isEnabled(CommandContributionItem.java:917)
at …Run Code Online (Sandbox Code Playgroud) 我已经安装了Eclipse Mars2,当我尝试保存更改时,我收到一条消息说“正在处理 JAX-RS 更改...(等待) ”并且 Eclipse 冻结了几分钟。我正在使用 jboss 作为服务器开发一个基于spring-mvc maven 的应用程序(我不知道这是否相关)。
在这个答案中,得到了一个 nullPointer,但我看不到任何错误。我在我的项目中也找不到“ jax-rs-support ”选项。
有什么线索吗?
非常感谢!
我有一个 toml 文件,其中包含 id 和 mac 对,如下所示:
[[component]]
id = 1
mac = "d4:d7:04:c9:85:a4"
[[component]]
id = 3
mac = "3c:21:ee:b4:0d:ab"
[[component]]
id = 6
mac = "ea:f3:23:8c:b8:c1"
Run Code Online (Sandbox Code Playgroud)
目标是将此文件反序列化为该文件的 Vec struct(MacAddr6属于macaddr板条箱:
[[component]]
id = 1
mac = "d4:d7:04:c9:85:a4"
[[component]]
id = 3
mac = "3c:21:ee:b4:0d:ab"
[[component]]
id = 6
mac = "ea:f3:23:8c:b8:c1"
Run Code Online (Sandbox Code Playgroud)
当我尝试反序列化时,显示此错误:
内部:TomlError {消息:“无效类型:字符串“d4:d7:04:c9:85:a4”,期望长度为6的数组”
如果我在结构定义中更改MacAddr6为String并且一切正常,那么我有一个解决方法。尽管如此,由于MacAddr6实现了serde::Deserialize,core::str::FromStr我希望一次性检索完整的结构。我究竟做错了什么?