2012-05-02 44 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

相關問題