2012-03-16 5 views
1

私の日々の開発のためにEclipseとMavenを使用していますが、うまくいきます。しかし、私はjs/cssなどを細分化したり組み合わせたりして、Tomcat以外のApache用の静的リソースを分離するなど、生産に送る時間があるときに特別な戦争が必要です。Mavenで構築されたwarをエクスポートするant warタスクを使用できますか?

私はMavenプラグインを試しました手間がかかったので、必要に応じてエクスポートするだけの簡単なantスクリプトを作成したいと考えていました。私はant warタスクを使用していますが、エクスポートされたwarには空のWEB-INF/libsフォルダ以外のすべてが含まれています。誰でも、スクリプトがすべてのライブラリで動作するようにする方法を知っていますか?これは私が持っているものです:

<?xml version="1.0" encoding="UTF-8"?> 
<project name="MyProject" default="war" basedir="."> 

    <property name="builder" value="Me" /> 
    <property name="project-name" value="${ant.project.name}" /> 
    <property name="war-file-name" value="${project-name}.war" /> 
    <property name="source-directory" value="src/main/java" /> 
    <property name="classes-directory" value="target/classes" /> 
    <property name="web-directory" value="src/main/webapp" /> 
    <property name="web-xml-file" value="src/main/webapp/WEB-INF/web.xml" /> 
    <property name="build-directory" value="/" /> 

    <tstamp prefix="build-info"> 
     <format property="current-date" pattern="d-MMMM-yyyy" locale="en" /> 
     <format property="current-time" pattern="hh:mm:ss a z" locale="en" /> 
    </tstamp> 

    <target name="war" depends=""> 
     <mkdir dir="${build-directory}" /> 
     <delete file="${build-directory}/${war-file-name}" /> 
     <war warfile="${build-directory}/${war-file-name}" webxml="${web-xml-file}"> 
      <classes dir="${classes-directory}" /> 
      <fileset dir="${web-directory}"> 
       <exclude name="WEB-INF/web.xml" /> 
      </fileset> 
      <manifest> 
       <attribute name="Built-By" value="${builder}" /> 
       <attribute name="Built-On" value="${build-info.current-date}" /> 
       <attribute name="Built-At" value="${build-info.current-time}" /> 
      </manifest> 
     </war> 
    </target> 

</project> 
+0

このようなantスクリプトを使用することはお勧めできません。これは特にMavenを介したリリースの場合は機能しません。より良いことは私にはあなたが正確に何をする必要があるのか​​、あなたのターゲットとする戦争がどのように見えているのかを説明してくれたようで、Mavenの方法でそれを解決する方法があるかもしれません。 (1つはそのMaven-Assembly-Pluginで考えました)... – khmarbaise

答えて

0

これにはmaven ant tasksを使用できます。私はこれを試していませんが、the examplesから、このようなものが動作するはずです...

<artifact:dependencies filesetId="dependency.fileset" useScope="runtime"> 
    <pom file="pom.xml"/> 
</artifact:dependencies> 
<copy todir="${webapp.output}/WEB-INF/lib"> 
    <fileset refid="dependency.fileset" /> 
    <!-- This mapper strips off all leading directory information --> 
    <mapper type="flatten" /> 
</copy> 
+0

ありがとう – user842800

関連する問題