Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ANT/JAVA:Config在war文件中包含库文件_Java_Rest_Ant_Jersey - Fatal编程技术网

ANT/JAVA:Config在war文件中包含库文件

ANT/JAVA:Config在war文件中包含库文件,java,rest,ant,jersey,Java,Rest,Ant,Jersey,对ANT和使用它的建筑来说是非常陌生的。我有一个JavaJersey rest项目,我已经在WEB-INF/lib下包含了Jersey库。 我有一个build.xml用于构建/编译项目 <?xml version="1.0"?> <project name="Ant-Test" default="Main" basedir="."> <!-- Sets variables which can later be used. --> <!-- The

对ANT和使用它的建筑来说是非常陌生的。我有一个JavaJersey rest项目,我已经在WEB-INF/lib下包含了Jersey库。 我有一个build.xml用于构建/编译项目

<?xml version="1.0"?>
<project name="Ant-Test" default="Main" basedir=".">
  <!-- Sets variables which can later be used. -->
  <!-- The value of a property is accessed via ${} -->
  <property name="src.dir" location="src" />
  <property name="lib.dir" location="" />
  <property name="build.dir" location="bin" />

  <!--
    Create a classpath container which can be later used in the ant task
  -->
  <path id="build.classpath">
    <fileset dir="${lib.dir}">
      <include name="**/*.jar" />
    </fileset>
  </path>

  <!-- Deletes the existing build directory-->
  <target name="clean">
    <delete dir="${build.dir}" />
  </target>

  <!-- Creates the  build  directory-->
  <target name="makedir">
    <mkdir dir="${build.dir}" />
  </target>

  <!-- Compiles the java code -->
  <target name="compile" depends="clean, makedir">
    <javac srcdir="${src.dir}" destdir="${build.dir}" classpathref="build.classpath" />
    <jar destfile="${build.dir}/CrunchifyRESTJerseyExample.jar" basedir="${build.dir}"/>    
    <war destfile="${build.dir}/CrunchifyRESTJerseyExample.war" webxml="WebContent/WEB-INF/web.xml">
      <classes dir="${build.dir}"/>
    </war>
  </target>



  <target name="Main" depends="compile">
    <description>Main target</description>
  </target>

</project> 

主要目标

这样,我就不会在war文件中获取库文件。我应该添加什么才能在war中获得它?

尝试将fileset元素包含为war元素的子元素

   <fileset dir="${home.dir}/WEB-INF/libDirectory/*">
            <include name="**/*"/>
  </fileset>    

尝试将fileset元素包含为war元素的子元素

   <fileset dir="${home.dir}/WEB-INF/libDirectory/*">
            <include name="**/*"/>
  </fileset>    

如果您查看,您可以指定一个
元素,其中的jar将放在
WEB-INF/lib
文件夹下。所以试试这个:

<war destfile="${build.dir}/CrunchifyRESTJerseyExample.war" webxml="WebContent/WEB-INF/web.xml">
    <classes dir="${build.dir}"/>
    <lib dir="${lib.dir}">
       <exclude name="jdbc1.jar"/>  <!-- Exclude here jars you don't want -->
    </lib>
</war>

注意:您应该在脚本开头设置属性,以便上述任务正常工作:

<property name="lib.dir" location="lib" /> <!-- Or whatever you call your project folder with the jars-->

如果您查看,您可以指定一个
元素,其中的jar将放在
WEB-INF/lib
文件夹下。所以试试这个:

<war destfile="${build.dir}/CrunchifyRESTJerseyExample.war" webxml="WebContent/WEB-INF/web.xml">
    <classes dir="${build.dir}"/>
    <lib dir="${lib.dir}">
       <exclude name="jdbc1.jar"/>  <!-- Exclude here jars you don't want -->
    </lib>
</war>

注意:您应该在脚本开头设置属性,以便上述任务正常工作:

<property name="lib.dir" location="lib" /> <!-- Or whatever you call your project folder with the jars-->


这是从教程中获取的。如果有帮助,请查看此线程。。。你的build.properties文件看起来像什么?这是从教程中获取的。如果有帮助,请查看此线程。。。你的build.properties文件是什么样子的?我太傻了,没有包含
lib.dir
的值。标签成功了!。谢谢,我太傻了,没有包括
lib.dir
的值。标签成功了!。谢谢