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文件从我的网站启动我的扩展时,它似乎不起作用。
-
我可以只测试它的BAT部分吗? (把BAT中的回音文本放到我的应用程序上查看结果?)
-
我尝试使用以下行
start chrome --enable-logging --v=1
:start chrome --enable-logging --v=1
但是在AppData\Local\Google\Chrome\User Data\chrome_debug.log
似乎找不到特定的日志,我需要吗?添加一些东西来记录特定的错误? -
我的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个字节。