jqassistant-maven-plugin:无法将浏览器连接到嵌入式 Neo4j

jqassistant-maven-plugin: cannot connect browser to embedded Neo4j

注意:已经有类似的问题,但是解决方案不适用于jqassistant-maven-plugin。

我在一个新的客户端站点上遇到了一个问题,我想在该站点上使用 jqassistant-maven-plugin (1.10.0) 查看 JQAssistant 扫描的 Neo4j 内容。

运行 mvn jqassistant:scan jqassistant:analyze jqassistant:server 将启动并嵌入 Neo4j,扫描我的 Maven 项目的内容,并保持嵌入式实例打开以便我可以通过 http://localhost:7474/ 访问它

尝试在浏览器中登录时(使用 bolt 协议)我遇到了连接问题。

ServiceUnavailable: WebSocket connection failure. Due to security constraints in your web browser, the reason for the failure is not available to this Neo4j Driver. 
Please use your browsers development console to determine the root cause of the failure. 
Common reasons include the database being unavailable, using the wrong connection URL or temporary network problems. If you have enabled encryption, ensure your browser is configured to trust the certificate Neo4j is configured to use. 
WebSocket `readyState` is: 3

我以前从未见过使用此工具的类似情况。我找到的唯一资源是 this documentation 说应该更改 listenAddress。

基本上 JQAssistant 的配置一如既往,除了 embeddedListenAddress:

<plugin>
  <groupId>com.buschmais.jqassistant</groupId>
  <artifactId>jqassistant-maven-plugin</artifactId>
  <version>${jqassistant.version}</version>
  <executions>
    <execution>
      <id>default-cli</id>
      <goals>
        <goal>scan</goal>
        <goal>analyze</goal>
      </goals>
      <configuration>
        <warnOnSeverity>INFO</warnOnSeverity>
        <failOnSeverity>MAJOR</failOnSeverity>
        <embeddedListenAddress>0.0.0.0</embeddedListenAddress>
      </configuration>
    </execution>
  </executions>
</plugin>

有没有人有过类似的经历?在我看来,浏览器中的某些公司设置(所有这些都可用)正在阻止 websockets。有没有解决的办法。我目前唯一的解决方法是使用专用的 Neo4j 实例,这会使开发设置复杂化,我想避免这种情况。

进一步分析:

检查浏览器端口,表明它正在监听

netstat -a | findstr 7474
  TCP    0.0.0.0:7474    
  TCP    [::]:7474

另一方面,螺栓端口不可用

netstat -a | findstr 7687

设置<embeddedBoltPort>45856</embeddedBoltPort>(任意高数)后,我终于可以连接了。由于某种原因,端口不允许出现,即使将其更改为常用的端口(如 8080)也不起作用。

我不明白为什么会这样,因为端口没有被使用。测试已用端口时,会出现正确的异常,表明它已在使用中。 我只能假设客户端有一些奇怪的安全设置

我对 jqassistant-maven-plugin 的唯一建议是测试是否所有必需的端口都已启动并且 运行 即使在启动期间没有发生异常。

感谢任何人分享想法以追踪此问题。