我正在使用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 文件之外。有必要编译 enunciate 带注释的类,因此 jar 在编译时显然位于类路径上,但 enunciate 未能将其包含在分发中。我还注意到 enunciate 所需的几个 jar 没有包含在 WAR 文件中。
为什么他们被排除在外,我该如何解决?