Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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
Java 在Eclipse中设置新项目_Java_Eclipse_Ant - Fatal编程技术网

Java 在Eclipse中设置新项目

Java 在Eclipse中设置新项目,java,eclipse,ant,Java,Eclipse,Ant,因此,我在Eclipse中设置了一个新项目,并创建了一个build.xml来创建war文件。我遇到的问题是,war中只包含WEB-INF中的文件。如何将我的WEB文件夹包含到war中 计划 src 网 WEB-INF 您的WEB-INF应该位于WEB文件夹下方。类应该放在web/web-INF/Classes中 构建完成的布局,然后使用WAR任务将其打包。(为正确性和清晰性而编辑) 假设项目设置如下: 计划 src(java源文件) 网络(网络内容) WEB-INF(至少包含一个WEB

因此,我在Eclipse中设置了一个新项目,并创建了一个build.xml来创建war文件。我遇到的问题是,war中只包含WEB-INF中的文件。如何将我的WEB文件夹包含到war中

  • 计划
    • src
    • WEB-INF

您的WEB-INF应该位于WEB文件夹下方。类应该放在web/web-INF/Classes中

构建完成的布局,然后使用WAR任务将其打包。

(为正确性和清晰性而编辑)

假设项目设置如下:

  • 计划
    • src(java源文件)
    • 网络(网络内容)
    • WEB-INF(至少包含一个WEB.xml)
    • build(build.xml在这里)
下面是一个快速的ant脚本:

<?xml version="1.0"?>
<project name="sample" basedir="../" default="war">

    <target name="compile">
        <delete dir="build/classes"/>
        <mkdir dir="build/classes"/>
        <javac srcdir="src" destdir="build/classes"/>
    </target>

    <target name="war" depends="compile">
        <war destfile="myWar.war" webxml="WEB-INF/web.xml">
            <fileset dir="web"/>
            <classes dir="build/classes"/>
            <webinf dir="WEB-INF"/>
        </war>
    </target>

</project>


有关更多信息,请参阅Ant用户手册。

由于您引用的是build.xml文件,因此我假设您正在使用Ant(或Eclipse正在为您使用它)。如果是这种情况,您希望使用war Ant任务及其includes属性(或fileset嵌套任务)列出您的web目录,以便包含在生成的war中

假设您使用的是缺少war任务的旧Ant发行版,请使用war继承的jar任务

我不知道build.xml是什么样子,但我敢猜测它有一个war或jar任务。使用它的includes属性,它应该看起来像这样(这是从我的头顶上看的,您可能需要调整它以针对您的特定情况进行编译):



但是,如果不查看build.xml,就无法判断此建议是否适用。

显示更多的build.xml将非常有用。
<war destfile="your.war" webxml="src/metadata/your.xml">
  <fileset dir="src"/>
  <fileset dir="web"/>
  <classes dir="build/classes"/>
</war>