Муравей телнет висит на простое задание - PullRequest
3 голосов
/ 28 апреля 2010
<?xml version="1.0" ?>
<project name="test" default="root">
    <target name="telnet">
        <telnet server="10.1.1.1">
            <read>login:</read>
            <write>root</write>
            <read>password:</read>
            <write>${PASSWORD}</write>
            <read>#</read>
            <write>ls</write>
            <read>#</read>
        </telnet>
    </target>
</project>

Это код, который у меня есть в файле build.xml. Когда я запускаю ant (версия 1.8, в bash) (я скачал и скопировал файлы jars для commons-net-2.0 и jakarta-oro-2.0.8 уже), я получаю следующий вывод:

Buildfile: /home/sagar/build.xml

telnet:

и тогда он просто сидит там. Когда я делаю «кто» на моем сервере, я вижу «Систему», ожидающую входа в систему. Но после этого прогресса нет. Я могу подключиться к серверу с помощью обычных средств telnet (putty, bash и т. Д.).

Я даже попробовал полную команду telnet вместо чтения / записи:

<telnet server="10.1.1.1" userid="root" password="root">

Любая помощь очень ценится!

Note: JRE 1.5, Ant 1.8, commons-net version 2.0, jakarta version 2.0.8

Ответы [ 2 ]

4 голосов
/ 28 апреля 2010

Разобрался. Для всех, у кого есть эта проблема:

Ant 1.8.0 не работает с commons-net-telnet. Не знаю почему, но если вы сможете перейти на версию 1.7, она будет работать.

6 часов ударов головой и разочарования спустя, это недокументированная проблема версии Большой! >:

0 голосов
/ 28 апреля 2010

Не специалист по Ant (я использую Nant на Темной стороне), но, глядя на задачу telnet, похоже, что есть атрибут с именем initialCR, который отправляет возврат каретки после входа в систему - значением по умолчанию является 'no .

Я думаю, что имя пользователя / пароль не было отправлено, т. Е. Просто ожидает нажатия кнопки "псевдо ввод".

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

Надеюсь, это поможет

...