我没有对本地文件系统的任何引用。当我使用Eclipse启动程序时,它可以正常工作。但是当我将它导出为Runnable jar文件时,我的程序正常启动,在"中工作一个周期。而且没有第二次进入。我的意思是周期没有退出。它只是循环结束而不再进入。
此外,没有任何例外情况。似乎只有一个图书馆拒绝做它的'工作。此外,我将所有库都放在不同的文件夹中,但据我所知,无论如何,所有这些库都会在编译时导出到项目中。有什么想法吗?
do {
//messaging, that it still works. Second time it even doesn't get there
threadController.log("Working");
link = null;
try {
currentProxy = threadController.getProxy();
link = threadController.getPageLink(currentProxy);
HashMap<String, String> map = null;
map = parser.loadFullInfo(currentProxy, link);
if (map != null) {
threadController.addMap(map);
threadController.incLinksProcessed();
Thread.sleep(threadController.getRequestTimeout());
}
} catch (MalformedURLException e) {
threadController.log(e.toString());
} catch (BadProxyException e) {
threadController.log(e.toString());
if (link == null) {
link = "";
} else {
threadController.addLinkBack(link);
}
} catch (InvalidLinkFormatException e) {
threadController.log(e.toString());
ThreadController.showInfoDialog("Ошибка", "Плохая ссылка в списке");
link = "";
} catch (IOException e) {
threadController.log(e.toString());
if (link != null) {
threadController.addLinkBack(link);
} else
link = "";
} catch (NoProxiesException e) {
threadController.log(e.toString());
ThreadController.showInfoDialog("Ошибка", "В указанных файлах отсутсвуют прокси");
link = null;
} catch (CaptchaException e) {
threadController.log(e.toString());
if (link == null) {
link = "";
} else {
threadController.addLinkBack(link);
}
if (currentProxy.getProxy() == Proxy.NO_PROXY) {
threadController.log("Превышен лимит запросов для вашего ip адреса. Идет запрос капчи. Начните использовать прокси");
} else {
threadController.log("Превышет лимит запросов для прокси: " + currentProxy.getProxy().toString() + ". Идет запрос капчи. Обновите список прокси.");
}
} catch (InterruptedException e) {
threadController.log(e.toString());
if (link != null) {
try {
threadController.addLinkBack(link);
} catch (Exception e1) {
threadController.log(e.toString());
e1.printStackTrace();
}
}
} catch (TooMuchWaitException e) {
threadController.log(e.toString());
link = "";
} catch (Exception e) {
threadController.log(e.toString());
//there works finally block and then it doesn't enter in cycle again, though it doesn't quit out of it (I printed my two conditions in "while" every cycle). It just stays like there occured some error or smth.
} finally {
threadController.log("I'm alive");
}
} while (link != null && !threadController.isStopped());