小编red*_*oah的帖子

"Swing-Shell"java.lang.InternalError:无法初始化COM:HRESULT = 0x80010106

我有一个Java 9应用程序,我正在尝试为Windows应用商店打包.奇怪的是,当我直接运行exe-launcher时,它按预期工作,但是当我通过APPX包运行启动器时,我得到以下奇怪的错误:

Exception in thread "Swing-Shell" java.lang.InternalError: Could not 
initialize COM: HRESULT=0x80010106 
at java.desktop/sun.awt.shell.Win32ShellFolderManager2.initializeCom(Native Method) 
at java.desktop/sun.awt.shell.Win32ShellFolderManager2$ComInvoker$1.run(Unknown Source at java.base/java.lang.Thread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

HRESULT=0x80010106意味着RPC_E_CHANGED_MODE我猜意味着COM以某种方式已经在MTA模式初始化.但为什么这只是Windows Bridge沙箱中的一个问题?pre-initialize出于某种原因,Windows桥以某种方式某种程度上是COM吗?

我不确定这是Java 9问题,还是Desktop Bridge问题,或两者兼而有之.有没有人对如何确定问题的原因或解决方法有任何想法?

我已经制作了一个最小的示例项目来重现该问题

应用程序在直接执行时有效,但在通过APPX启动程序执行时无效.为什么?

windows-store java-9 desktop-bridge

16
推荐指数
1
解决办法
506
查看次数

分组值序列

我想知道是否有任何漂亮的方式使用新的Stream API来"分组"值序列.

例如,将一系列整数拆分为整数组,其中每个组都是一个递增的数字序列:

IntStream seq = IntStream.of(1, 2, 3, -1, -1, 1, 2, 1, 2);
IntFunction next = i -> i + 1;

// DESIRED OUTPUT: [[1,2,3], [-1], [-1], [1,2], [1,2]]
Run Code Online (Sandbox Code Playgroud)

java sorting lambda java-8 java-stream

9
推荐指数
2
解决办法
793
查看次数

如何在 Mac OS X 上调试 .app 包启动时崩溃?

找出 .app 包启动后立即崩溃的原因的最佳方法是什么?Mac OS X 是否将日志存储在任何地方?

例如,这不起作用,并且立即崩溃:

open /Applications/MyApp.app
Run Code Online (Sandbox Code Playgroud)

但是,直接调用可执行文件似乎可以工作:

/Applications/MyApp.app/Contents/MacOS/MyAppLauncher
Run Code Online (Sandbox Code Playgroud)

Info.plist应该没问题并指向正确的可执行文件:

<key>CFBundleExecutable</key>
<string>MyAppLauncher</string>
Run Code Online (Sandbox Code Playgroud)

据我所知,OS X 甚至从不调用我的代码。我怎样才能知道它正在做什么以及为什么失败?

注意:此应用程序使用沙箱,因此我认为它与此有关。但我想看到一些日志来证实这一点。

debugging macos app-bundle

6
推荐指数
1
解决办法
4604
查看次数