在 WAR 文件中的 WEB-INF 文件夹下打包 Java 类

Package Java classes under WEB-INF folder in WAR file

我正在使用以下内容将 war 文件打包到 ANT 脚本中

<target name="war" depends="compile">
    <war destfile="${deploy.dir}/vms_war.war" webxml="${web.dir}/WEB-INF/web.xml">
      <fileset dir="${classes.dir}">
        <include name="**/*.class"/>
        <exclude name="test/**/*.class"/>
      </fileset>
       <fileset dir="${src.dir}">
       <include name="**/*.xml"/>
      </fileset>
      <fileset dir="${web.dir}">
        <include name="**/*.jspx"/>
        <include name="**/*.jsp"/>
        <include name="**/*.html"/>                        
        <include name="WEB-INF/*.xml"/>
        <include name="WEB-INF/lib/*.*"/>
        <exclude name="**/web.xml"/>
      </fileset>
    </war>
  </target>

打包war时,结构如下

--WEB-INF
  lib 
  web.xml
  faces-config.xml
--mypackageappname
     app
     test
     Login.class
     Authenticate.class
     ....

我想要实现的是当 war 打包时,我想将 java 类 与 [=17] 一起放在 WEB-INF 文件夹下=]文件夹。

我该怎么做?

WAR Task 文档说(部分)嵌套的 classes 元素指定了一个 FileSet。此文件集中包含的所有文件最终将位于 war 文件的 WEB-INF/classes 目录中。 我想你想要类似

的内容
<war destfile="${deploy.dir}/vms_war.war" webxml="${web.dir}/WEB-INF/web.xml">
  <classes dir="${classes.dir}" />
  <fileset dir="${src.dir}">
    <include name="**/*.xml"/>
  </fileset>
  <fileset dir="${web.dir}">
    <include name="**/*.jspx"/>
    <include name="**/*.jsp"/>
    <include name="**/*.html"/>                        
    <include name="WEB-INF/*.xml"/>
    <include name="WEB-INF/lib/*.*"/>
    <exclude name="**/web.xml"/>
  </fileset>
</war>

先装上 类,然后将 jar 放入 war 文件。像这样:

<target name="war" depends="compile">
    <jar jarfile="${web.dir}/WEB-INF/lib/vms.jar">
      <fileset dir="${classes.dir}">
        <include name="**/*.class"/>
        <exclude name="test/**/*.class"/>
      </fileset>
    </jar>
    <war destfile="${deploy.dir}/vms_war.war" webxml="${web.dir}/WEB-INF/web.xml">
      <fileset dir="${src.dir}">
        <include name="**/*.xml"/>
      </fileset>
      <fileset dir="${web.dir}">
        <include name="**/*.jspx"/>
        <include name="**/*.jsp"/>
        <include name="**/*.html"/>                        
        <include name="WEB-INF/*.xml"/>
        <include name="WEB-INF/lib/*.*"/>
        <exclude name="**/web.xml"/>
      </fileset>
    </war>
  </target>