Я использую Enunciate для создания прототипа REST API, и мне нужно включить JAR-файл с пользовательским кодом в качестве библиотеки.
Мой скрипт Ant выглядит так:
<!--include all jars-->
<path id="en.classpath">
<fileset dir="${lib}">
<include name="**/*.jar" />
</fileset>
</path>
<!--define the task-->
<taskdef name="enunciate" classname="org.codehaus.enunciate.main.EnunciateTask">
<classpath refid="en.classpath" />
</taskdef>
<mkdir dir="${dist}" />
<enunciate dir="${src}" configFile="${basedir}/enunciate.xml">
<include name="**/*.java" />
<classpath refid="en.classpath"/>
<export artifactId="spring.war.file" destination="${dist}/${war.name}" />
</enunciate>
Проблема в том, что мой пользовательский jar исключен из файла WAR. Необходимо скомпилировать аннотированные аннотированные классы, чтобы jar явно находился в пути к классам во время компиляции, но enunciate не смог включить его в дистрибутив. Я также заметил, что некоторые из jar-файлов, необходимых для enunciate, не включены в файл WAR.
Почему их исключают и как это исправить?