2016-04-29 57 views
1

我使用JQassistant掃描了我的Maven倉庫。現在我想知道哪些類由@Stateful註解。但即使使用maven倉庫掃描後從jqassistant獲取註釋

MATCH (a:Java:Value:Annotation) RETURN DISTINCT a.name 

作爲結果返回沒有行。註釋不是庫掃描的一部分嗎?或者我寫錯誤的查詢?

回答

2

下面的查詢將返回@Stateful

MATCH 
    (t:Type)-[:ANNOTATED_BY]->()-[:OF_TYPE]->(statefulType:Type) 
WHERE 
    statefulType.fqn = "javax.ejb.Stateful" 
RETURN 
    t.fqn 

註釋的所有類如果你掃描的資料庫,可能是有用的也返回包含這些類型的神器:

MATCH 
    (a:Artifact)-[:CONTAINS]->(t:Type), 
    (t)-[:ANNOTATED_BY]->()-[:OF_TYPE]->(statefulType:Type) 
WHERE 
    statefulType.fqn = "javax.ejb.Stateful" 
RETURN 
    a.fqn, collect(t.fqn) 
+0

那作品,謝謝。你知道我的查詢爲什麼不返回任何行嗎? –

+0

好的,可能是因爲Java:Value:Annotation沒有內容。 –

+0

剛剛驗證了您的第一個查詢 - 原因是掃描程序沒有將Java標籤添加到註釋節點,但文檔建議它在那裏。我創建了一個問題(https://github.com/buschmais/jqassistant/issues/378),將在下一個版本中修復。 –