Из-за стирания типа вы можете разыграть List<X>
с List<Y>
с.
ArrayTypeErasure<String> er = new ArrayTypeErasure<>();
ArrayTypeErasure erased = er;
List intList = new List<Integer>(); // compile warnings, but
intList.add(1);
erased.setElements(intList);
Вы, вероятно, что-то еще прослушивает этот порт.
В Linux сделайте:
netstat -pnl | grep 8080
и посмотрите, какой процесс прослушивает 8080
В Windows используйте что-то вроде TCPView , чтобы сделать то же самое.
Я думаю, у меня была похожая проблема, когда я начал использовать CherryPy ... Но я не могу точно вспомнить, что это было ... Но исправление включало использование файла конфигурации вместо передачи конфиги вручную:
MyProj.conf:
[global] server.socket_host = "127.0.0.1" server.socket_port = 8080 server.thread_pool = 10
MyProj.py
import os
import cherrypy
class HelloWorld:
def index(self):
return "Hello world!"
index.exposed = True
# Assumes the config file is in the directory as the source.
conf_path = os.path.dirname(os.path.abspath(__file__))
conf_path = os.path.join(conf_path, "MyProj.conf")
cherrypy.config.update(conf_path)
cherrypy.quickstart(HelloWorld())
Это определенно работает здесь.
Я использую Python 2.6.1 и CherryPy 3.1.1 и запускаю скрипт с -W ignore
:
c:\My_path> python -W ignore MyProj.py
Если вы находитесь под * nix, вы должны поставить -W ignore
в комментарии #!
вверху файла.
Антивирус AVG вызывал у меня эту проблему. Удаление AVG (далеко не идеального) помогло. Подозреваю, что мне не удалось отключить сканер ссылок.
Вчера я столкнулся с этой проблемой на сервере Ubuntu Linux. Я потратил пару часов, пытаясь отследить ошибку в коде CherryPy, прежде чем понял, что сообщение об ошибке носит очень общий характер. Это сообщение об ошибке будет выдано, даже если хост не владеет IP-адресом, к которому сервер пытается привязаться. В моем случае интерфейс обратной петли (lo, 127.0.0.1) был отключен. Таким образом, даже если я установлю server.socket_host = '0.0.0.0'
, попытка проверить порт, wait_for_occupied_port
, потерпит неудачу (поскольку это разумно предполагает, что интерфейс обратной связи всегда в наличии). После повторного включения интерфейса обратной связи сервер CherryPy запустится нормально.
Обновление: CherryPy 3.2.3 имеет исправление для этой конкретной проблемы. До выпуска 3.2.3 разработки доступны в загрузках проекта CherryPy .