Настройка нового проекта в Eclipse - PullRequest
0 голосов
/ 08 апреля 2010

Итак, я настроил новый проект в Eclipse и создал build.xml, который создает файл войны. Проблема, с которой я сталкиваюсь, состоит в том, что единственные файлы, которые включены в войну, - это то, что находится в WEB-INF. Как вы включили мою веб-папку в войну?

  • Проект
    • ЦСИ
    • Веб
    • WEB-INF

Ответы [ 3 ]

5 голосов
/ 08 апреля 2010

(отредактировано для корректности и ясности)

При условии настройки проекта следующим образом:

  • Проект
    • src (исходные файлы Java)
    • веб (веб-контент)
    • WEB-INF (хотя бы с web.xml внутри)
    • build (build.xml здесь)

Вот быстрый муравейник, чтобы разобраться с этим:

<?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 для задачи war 1024 *.

1 голос
/ 08 апреля 2010

Поскольку вы ссылаетесь на файл build.xml, я предполагаю, что вы используете Ant (или Eclipse использует его для вас). Если это так, вы хотите использовать war Задача Ant и ее включает атрибут (или набор файлов вложенная задача) для отображения вашего веб-каталога для включения в итоговую войну.

http://ant.apache.org/manual/Tasks/war.html

Если вы используете более старый дистрибутив Ant, в котором отсутствует задача war , используйте задачу jar , от которой наследуется war .

Я не знаю, как выглядит ваш build.xml, но рискну предположить, что у него есть задача war или jar . Используя атрибут включает в себя , он должен выглядеть примерно так (это из головы, вам может понадобиться настроить его для компиляции в вашей конкретной ситуации):

<war destfile="your.war" webxml="src/metadata/your.xml">
  <fileset dir="src"/>
  <fileset dir="web"/>
  <classes dir="build/classes"/>
</war>

Не видя ваш build.xml, невозможно определить, применимо ли это предложение или нет.

1 голос
/ 08 апреля 2010

Ваш WEB-INF должен быть ниже веб-папки. Занятия должны идти в web / WEB-INF / classes.

Создайте готовый макет и затем используйте задание WAR, чтобы обернуть его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...