gpt4 book ai didi

java - Chrome native 消息传递无法执行批处理文件

转载 作者:行者123 更新时间:2023-12-01 11:15:17 24 4
gpt4 key购买 nike

这是我的主机的 list :

{
"allowed_origins" :
[
"chrome-extension://EXTENSION_ID/"
],
"description" : "my.app.host",
"name" : "my.app.host",
"path" : "‪C:\\chromejar\\launch.bat",
"type" : "stdio"
}

这是我的 launch.bat 文件的内容:

setlocal enableextensions disabledelayedexpansion

for %%a in ("%~dp0\ChromeConnector.jar") do set "JARFILE=%%~fa"
java -jar "%JARFILE%"
pause
  • 当我单独启动批处理文件时,它可以工作。
  • 当我使用 EXE 文件(用 C# 开发)从我的网站启动扩展程序时,它可以正常工作。
  • 但是当我使用 BAT 文件从我的网站启动扩展程序时,它似乎不起作用。

    1. 我可以只测试其中的 BAT 部分吗? (输入来自 BAT 的回显文本以在我的应用程序上查看结果?)

    2. 我尝试使用以下行在 chrome 中启用日志记录: start chrome --enable-logging --v=1 但似乎在 AppData\中找不到特定日志Local\Google\Chrome\User Data\chrome_debug.log,我需要添加一些内容来记录特定错误吗?

    3. 我的 Java 代码目前就这么简单:

    public static void main(String[] args) {
    而(真){}
    }

还有其他方法来测试 jar 应用程序吗?

提前致谢

最佳答案

以下是您问题的一些答案:

1。我可以只测试BAT部分吗? (输入来自 BAT 的回显文本以在我的应用程序上查看结果?)

在 BAT 中,您可以将 Java 程序的输出发送到文本文件。如果尝试调用后该文件存在,则意味着扩展程序能够启动 native 应用程序,并且您将能够看到应用程序输出。例如,在 BAT 的第四行中,您可以执行以下操作:

java -jar "%JARFILE%" >> mybatfile.log

2。我尝试使用此行启用 chrome 中的日志记录: start chrome --enable-logging --v=1 但似乎在 AppData\Local\Google\Chrome\User Data\chrome_debug.log 中找不到特定日志,我需要吗添加一些内容来记录特定错误?

查找包含“native_message_process_host.cc”的消息,例如:

[4680:5612:0809/194917:ERROR:native_message_process_host.cc(291)] Native Messaging host tried sending a message that is 2036688930 bytes long.

3.我的 Java 代码目前就这么简单:

public static void main(String[] args) {
while(true) { }
}

有关从 java 接收和发送 stdio 消息的信息,请参阅这篇文章: Java native messaging with chrome extension - cannot correctly write length

4。还有其他方法来测试 jar 应用程序吗?

我建议从您的 Java 应用程序生成日志,以便您可以查看接收和发送的消息,包括表示消息长度的初始 4 个字节。

关于java - Chrome native 消息传递无法执行批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31906524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com