0

我有一个具有以下结构的项目:

myProject
  + Annotations
      - pom.xml
  + projectA
      + jqassistant
          -my-rules.xml 
      - pom.xml

两者之间存在依赖关系,因为项目 A 中的一些类使用来自 Annotations 的自定义注解进行注解。projectA 的 pom 中的当前配置如下所示:

<configuration>
            <concepts>
                    <concept>classpath:Resolve</concept>
            </concepts>
            <scanIncludes>
                <scanInclude>
                    <path>../Annotations/target/classes</path>
                    <scope>java:classpath</scope>
                </scanInclude>
            </scanIncludes>
            [...]
</configuration>

一切正常,但现在我想通过存储库的 URL 将注释用作 Maven 工件,因此我不必手动将其添加到每个项目中。

所以我正在寻找这样的东西:

<scanInclude>
   <path>https://...</path>
   <scope>java:classpath</scope>
</scanInclude>

如果我正确理解了手册(https://buschmais.github.io/jqassistant/doc/1.2.0/),则 scanIncludes 仅适用于目录/文件,但不适用于 URL。

有没有简单的解决方案来做到这一点?

4

1 回答 1

0

遗憾的是,目前不支持扫描 URL。此时您唯一的机会是使用 Maven 依赖插件将依赖项复制到项目的目标文件夹(请参阅https://maven.apache.org/plugins/maven-dependency-plugin/examples/copying-artifacts.html)并像以前一样从那里扫描它。

顺便说一句,有个好消息:在以下版本之一中,可以通过指定工件过滤器将依赖项包含到 Maven 项目的扫描中。

顺便说一句:如果您只需要查看您的注释在项目代码中的使用位置,则无需扫描包含注释类的工件(可能您不扫描 JPA API-Jar,而是使用从那里提供的注释以及概念)。您仍然可以得到模式(e)-[:ANNOTATED_BY]->(a:Annotation)-[:OF_TYPE]->(t:Type),唯一的区别是 t 将是一个仅提供属性 fqn 的节点,即注释类型的完全限定类名。

于 2018-11-12T20:20:47.160 回答