2013-10-27 4 views
1

Есть ли способ включить некоторые файлы в папку классов войны? Eclipse строит право войны, но мой мульт-скрипт не может включать файлы в папку классов.Включить файлы в папку военных классов

... 
    <property name="src.dir" location="src" /> 
    <property name="build.dir" location="build" /> 
    <property name="classes.dir" location="${build.dir}/classes" /> 

    <target name="war" depends="mklib, retrieve, compile"> 
    <war destfile="${war.file}" webxml="${webContent.dir}/WEB-INF/web.xml"> 
     <classes dir="${classes.dir}" /> 
     <fileset dir="${webContent.dir}" excludes="**/servlet-api*.jar,**/jsp-api*.jar" /> 
     <fileset dir="${classes.dir}" includes="**/*.xml,**/*.sql" /> 
    </war> 
</target> 
... 
+0

Какие из них вы хотите включить? –

+0

xml и sql файлы, пытаясь включить em в эту строку: ... но это выходит из строя. – RassK

ответ

2

Я хотел бы поблагодарить вас, которые потратили немного времени, чтобы подумать об этом решении. Во всяком случае все мне нужно было гораздо проще

<target name="war" depends="mklib, retrieve, compile"> 
    <war destfile="${war.file}" webxml="${webContent.dir}/WEB-INF/web.xml"> 
     <classes dir="${classes.dir}" /> 
     <classes dir="${src.dir}" includes="**/start.xml, **/per*.xml, **/*.sql" /> 
     <fileset dir="${webContent.dir}" excludes="**/servlet-api*.jar,**/jsp-api*.jar" /> 
    </war> 
</target> 

Все нужно сделать, это написать включать или включает в себя атрибут классов

1

<classes/> суб-объект может быть использован для вещей, кроме *.class файлов. Все <classes/> подобъекта делает это поместить файлы, указанные в WEB-INF/classes директории вашей войны:

<target name="war" depends="mklib, retrieve, compile"> 
<war destfile="${war.file}" webxml="${webContent.dir}/WEB-INF/web.xml"> 
    <classes dir="${classes.dir}" /> 
    <classes dir="${resources.dir}"/> <!-- Other files that are in WEB-INF/classes --> 
</war> 

(я бы использовал свой пример, но у вас есть <fileset dir="${classes.dir}" что означает, что вы размещение вещей в вашем ${classes.dir} (где вы собрали ваш код) в корень вашей войны, которая, вероятно, не то, что вы хотите. (

вы также можете использовать <zipfileset/> вместо простого <fileset>. <zipfileset> принимает все те же параметры и вложенные объекты, как <fileset>, но также включает параметр prefix, где вы можете указать pref ix:

<target name="war" depends="mklib, retrieve, compile"> 
<war destfile="${war.file}" webxml="${webContent.dir}/WEB-INF/web.xml"> 
    <classes dir="${classes.dir}" /> 
    <classes dir="${resources.dir}"/> 
    <zipfileset prefix="foo/resources" 
     dir="${foo.dir}"> 
     <include name="**/*.foo"/> 
    </zipfileset> 
</war> 
Смежные вопросы