муравей не работает - PullRequest
       7

муравей не работает

1 голос
/ 24 августа 2010

У меня есть следующий фрагмент муравья

 <macrodef name="webapp.start">
    <attribute name="name" />
    <sequential>
        <!--deploy-->
        <antcall target="webapp.@{name}" />
        <!--start server-->
        <antcall target="tomcat-server-start" />
        <!--go to URL-->
        <exec executable="firefox" os="Linux" >
            <arg line="-new-tab http://localhost:${tomcat.port}/@{name}" />
        </exec>
    </sequential>
</macrodef>

Запускает сервер, но не открывает браузер.Если я помещаю задачу exec в отдельную цель и запускаю ее, она работает нормально.Я предполагаю, что запуск сервера, который является процессом, который не заканчивается, следующий не начинается.Как мне преодолеть эту проблему?Можно ли запустить exec как отдельный процесс?

1 Ответ

1 голос
/ 24 августа 2010

Я предполагаю, что при запуске сервера, который является процессом, который не заканчивается, следующий не начинается

Я бы потратил минуту, чтобы убедиться, что это так. Используйте pgrep или ps, чтобы выяснить, что происходит с вашими процессами.

Если вы подтвердите, что сервер никогда не завершит работу, я бы запустил команду "tomcat-server-start" в фоновом режиме (с помощью постфикса команды оболочки с &), если это не имеет большого значения, если firefox запускается до tomcat-server , В качестве альтернативы, используйте блок parallel внутри вашего последовательного блока, например:

<macrodef name="webapp.start">
    <attribute name="name" />
    <sequential>
        <!--deploy-->
        <antcall target="webapp.@{name}" />
        <parallel>
            <!--start server-->
            <antcall target="tomcat-server-start" />
            <!--go to URL-->
            <exec executable="firefox" os="Linux" >
                <arg line="-new-tab http://localhost:${tomcat.port}/@{name}" />
            </exec>
        </parallel>
    </sequential>
</macrodef>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...