Chrome原生邮件无法执行批处理文件

这是我的主人的清单:

{ "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. 我尝试使用以下行start chrome --enable-logging --v=1start chrome --enable-logging --v=1但是在AppData\Local\Google\Chrome\User Data\chrome_debug.log似乎找不到特定的日志,我需要吗?添加一些东西来记录特定的错误?

    3. 我的Java代码目前很简单:

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

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

提前致谢

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

1.我可以只测试它的BAT部分吗? (把BAT中的回音文本放到我的应用程序上查看结果?)

在BAT中,您可以将Java程序的输出发送到文本文件。 如果在尝试呼叫后文件存在,则表示扩展程序能够启动本机应用程序,您将能够看到应用程序输出。 例如,在BAT的第四行,您可以这样做:

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

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

查找包含“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消息的信息,请参阅此文章: 具有chrome扩展名的Java本机消息传递 – 无法正确写入长度

4.有没有其他方法来测试jar应用程序?

我建议从你的java应用程序生成日志,这样你就可以查看收到和发送的消息,包括表示消息长度的最初4个字节。