2012-05-02 45 views
1

在Liferay的门户之后修改.war文件,自动生成的build.xml文件(与Eclipse中的SDK,由向导自动生成创建)总是看起来像这样Liferay的SDK插件的portlet:使用Ant目标正在创建

<?xml version="1.0"?> 

<project name="my-service-portlet" basedir="." default="deploy"> 
    <import file="../build-common-portlet.xml" /> 

</project> 

是否建议向此添加自定义目标?我想在创建它之后修改.war文件。像这样: Is there a way with Apache Ant to update a jar file after it's been built?

我的战争文件是巨大的,因为它是由Liferay的服务构建器自动创建的,它似乎需要进行一些优化。我想删除WEB-INF/lib/ .jar中的WEB-INF/src/.java文件(以及.war中的那些WEB-INF/classes/.class文件)。他们似乎重复。我可以这样做以节省部署期间的空间,并简化和加速部署过程。

这样的蚂蚁目标是怎么样的?

回答

4

当然,这是完全可能的:

<project name="MyPortlet" basedir="." default="updateWarAndDeploy"> 
    <import file="../build-common-portlet.xml" /> 

    <target name="updateWarAndDeploy"> 
     <antcall target="war"/> 
     -- modify war file -- 
     <copy file="${plugin.file}" todir="${auto.deploy.dir}" /> 
    </target> 
</project> 
+0

感谢您的总体战略,虽然我只是意识到,在WEB-INF/lib中/ .... JAR(在Eclipse项目的依赖)是nolonger目前在.war文件中(虽然它的内容被解压缩)。毕竟,可能没有任何“优化”的空间。但是通常这个话题/答案在将来的某一天可能会派上用场(例如,为warfile添加文档) – knb

相关问题