Ant build отклонил разрешение на копирование .war-файла - PullRequest
1 голос
/ 07 апреля 2011

У меня есть упакованный файл app.war, который я пытаюсь скопировать в папку webapps, и получаю сообщение об ошибке:

СТРОИТЬ ОШИБКА Не удалось скопировать mywar.war в /usr/local/tomcat/webapps/mywar.war из-за java.io.FileNotFoundException /usr/local/tomcat/webapps/mywar.war (разрешение отклонено)

Вот код муравья для этого:

<target name="install" depends="package">
      <copy file="mywar.war" tofile="${webapp.dir}/mywar.war" overwrite="true" />
</target>

Это, очевидно, вещь с разрешениями. Я не могу решить эту проблему с помощью chmod 777 .war-файла, потому что myapp.war будет стираться каждый раз, а новые файлы будут иметь ограничительные разрешения, примененные снова.

Что если я сделаю целые разрешения для веб-приложений 777 или что-то еще? Это похоже на плохую практику с точки зрения безопасности, верно? Или есть команда ant, чтобы дать разрешение root-скрипту? Я использую Ubuntu, если это имеет значение.

спасибо!

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

Попробуйте использовать задачу scp. Вам нужно убедиться, что jsch находится в пути к классам Ant, чтобы он работал. Об этом есть документация от Ant.

<code><scp file="mywar.war" todir="root:password@localhost:${webapp.dir}"/>
0 голосов
/ 07 апреля 2011

Лично я создаю файл WAR с помощью Ant, а затем su в корневой каталог и вручную копирую его в папку webapps.

Однако вы можете сделать папку webapps доступной для записи для определенной группы и запустить Ant в качестве члена этой группы.

...