первая вещь, которую я сделал бы, чтобы эмулировать поведение кода ant
состояния путем компиляции и выполнения следующего кода:
import java.net.Socket;
import java.io.IOException;
public class Test {
public static void main(String args[]) {
try {
Socket socket = new Socket("localhost", 8080);
} catch (IOException e) {
System.out.println("down");
System.exit(0);
}
System.out.println("up");
}
}
Если что выходы up
когда Tomcat не тогда у вас есть фундаментальное несогласие между java
и lsof
с точки зрения того, что составляет «upness», и тот, который нужно исследовать.
Один из способов, чтобы увидеть, если есть на самом деле является что-то есть, чтобы попытаться подключиться к нему, например, с:
telnet localhost 8080
Если подключается, я вообще стараюсь lsof
, чтобы увидеть, что процесс имеет получил, но, как вы заявляете, кажется, что не работает. Возможно, другой инструмент вроде:
netstat -na | grep ':8080 '
сделал бы трюк.
Если он выводит down
то у вас есть другой вопрос, либо какая-то проблема в ant
или, возможно, процесс сборки сам, начиная от сервера (или другой сервер). Это будет также требует дальнейшего изучения, но вы, по крайней мере, сузили проблему.
Одна вещь, которую вы можете попробовать, - это запустить этот Java-код внутри самого процесса сборки, чтобы увидеть, что он думает в то же время. ant
сообщает вам, что сервер есть.
Простите презумпцию, но, как вы знаете, в этом порту ничего не слышно? – paxdiablo
'sudo lsof -i -P | grep 8080' Также, когда я запускаю tomcat вручную, он не жалуется –
afsg77, это очень интересно. Я ответил как можно лучше, но я думаю, что это может потребовать глубокого изучения. Тем не менее, надеюсь, ответ даст вам более четкое указание на то, где проблема. – paxdiablo