2015-05-01 4 views
0

У нас есть пользовательский теглет для наших javadocs, для которого требуется tools.jar в качестве зависимости, но maven hardcodes местоположение jar в выпуске pom.xml.Сохраните параметризованный путь на maven tools.jar dependency

Для этой зависимости в мавена мы используем ${java.home} parameter in our pom.xml, но после того, как проект будет построен путь для этого tools.jar жестко закодирован в любой JDK он был построен с:

cat ~/.m2/repository/.../client.pom 
... 
    <dependency> 
     <groupId>com.sun</groupId> 
     <artifactId>tools</artifactId> 
     <version>1.4.2</version> 
     <scope>system</scope> 
     <systemPath>/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/jre/../lib/tools.jar</systemPath> 
    </dependency> 

Я думал об изменении область действия - test, но тогда мы не можем использовать параметр ${java.home}.

Есть ли способ сохранить параметризованный путь, перенастроить pom/project, чтобы javadocs были отдельными или сделать maven реализовать это не будет нужно это во время выполнения?

+0

Вы не должны заботиться об этом пути. поскольку это системная зависимость, она не является транзитивной, проекты, зависящие от вашего проекта, не наследуют ее. –

ответ

0

Maven поддерживает пользовательские теглеты непосредственно с помощью maven-javadoc-plugin.

Для получения дополнительной информации см. the official Maven documentation. Это так ясно описано, что здесь нет смысла повторять код. Это можно настроить в разделе <report> или в разделе <build>. В разделе <build> вам, скорее всего, понадобится настроить его на соответствующую фазу сборки.

Смежные вопросы