2016-04-22 95 views
0

我在我的Maven存儲庫上運行了jQAssistant掃描。現在我可以看到一些信息,但不幸的是,如果我嘗試請參閱存儲庫掃描(jQAssistant)中的Maven依賴關係

MATCH (a:Maven:Artifact) --> (b:Maven:Artifact) RETURN a 

我看不出有什麼效果雖然有,應DEPENDS_ON工件之間的連接。是否有一些額外的開關掃描也可以找到這些弧線?

+0

你能爲我們提供更多的信息嗎?如果您使用由jQAssistant生成的數據庫,您可以先檢查一下嗎?請檢查數據庫中是否有節點:MATCH(a) - (b)返回一個限制10;' – Oliver

+0

有節點。我已經檢查過了。 –

+0

好嗎?你是否從同一個目錄執行「jqassistant.cmd scan -u maven:repository :: http:// ...」和「jqassistant.cmd server」?如果是,那麼「匹配(n)返回計數(n)」的結果是什麼? –

回答

1

如果您正在掃描Maven存儲庫,則工件之間不存在直接依賴關係,只有在掃描Maven反應器(即使用Maven插件)時纔會出現這種情況。 在具有下列結構的存儲庫的情況下:

  • (:庫) - [:CONTAINS_POM] - >(:POM)
  • (:POM) - [:描述] - >(:工件)
  • (:POM) - [:DECLARES_DEPENDENCY] - >(:工件)

以下查詢返回所有熒光棒,其中它們中的每描述了工件和所聲明的依賴性:

MATCH 
    (:Repository)-[:CONTAINS_POM]->(pom:Pom), 
    (pom)-[DESCRIBES]->(artifact:Artifact), 
    (pom)-[:DECLARES_DEPENDENCY]->(dependency:Artifact) 
RETURN 
    pom.fqn, collect(artifact.name), collect(dependency.fqn) 
+0

我承認文檔應該更清晰並提供示例。 –

+0

所以我可以使用DESCRIBES和DECLARES_DEPENDENCY來定義從工件到工件的依賴關係弧(用於例如傳遞依賴關係樹)? –

+0

這應該工作,它只是意味着將以下部分添加到上面的查詢: MERGE (神器) - [:DEPENDS_ON] - >(依賴) –