我正在使用Ant构建java项目,我使用Ivy进行依赖项管理。 ant build中有两个选项可用于在部署期间解析依赖关系。一种是lib模式,如果启用此模式,所有相关的jar将被下载到项目的WEB-INT / lib文件夹中。其他是清单模式,不下载任何jar。在部署期间,MANIFEST.MF(具有到所有从属jar的类路径)文件将用于解析jar。 项目在lib模式下正常运行,但启用清单时,构建成功但部署失败。
请告诉我如何解决这个问题或原因可能是什么原因?
注意:Tomcat服务器默认启用VWL。
提前致谢。
答案 0 :(得分:0)
如果没有示例,必须推测您的代码是什么样的。以下示例演示如何使用ANT manifestclasspath任务构建适合jar清单文件的类路径。常春藤"检索"任务填充包含罐子的相对目录:
<target name="build" depends="compile">
<ivy:retrieve pattern="${dist.dir}/lib/[artifact].[ext]"/>
<manifestclasspath property="jar.classpath" jarfile="${dist.jar}">
<classpath>
<fileset dir="${dist.dir}/lib" includes="*.jar"/>
</classpath>
</manifestclasspath>
<jar destfile="${dist.jar}" basedir="${build.dir}/classes">
<manifest>
<attribute name="Main-Class" value="${dist.main.class}"/>
<attribute name="Class-Path" value="${jar.classpath}"/>
</manifest>
</jar>
</target>
以下是一个详细的例子: