Не отвечающее приложение после запуска с JNLP
Я изучаю JNLP и решил попробовать запустить небольшое приложение, созданное с помощью JNLP. Я создал простую программу Java и файл JNLP. Я загружаю как jar-файл, так и jnlp-файл на свой сервер apache вместе с html-файлом для отображения кнопки Launch. Это файл jnlp (я не уверен на 100%, правильно ли он):
<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://localhost:8080/" href="example.jnlp">
<information>
<title>Example</title>
<vendor>Dev</vendor>
</information>
<resources>
<!-- Application Resources -->
<j2se version="1.6+"
href="http://java.sun.com/products/autodl/j2se"/>
<jar href="Example.jar" main="true" />
</resources>
<application-desc name="Example"
main-class="main.Example"
width="600"
height="600">
</application-desc>
<update check="background"/>
</jnlp>
Ниже приведен мой HTML-файл на моем сервере Apache:
<html>
<head>
<title>Example</title>
</head>
<body>
<script src="http://www.java.com/js/deployJava.js"></script>
<script>
// using JavaScript to get location of JNLP file relative to HTML page
var dir = location.href.substring(0, location.href.lastIndexOf('/')+1);
var url = dir + "example.jnlp";
document.alert(dir);
deployJava.createWebStartLaunchButton(url, '1.6.0');
</script>
</body>
</html>
Проблема в том, что, когда я нажимаю кнопку Launch, он спрашивает, хочу ли я запустить example.jnlp. Затем через некоторое время приложение просто открывается, но когда я нажимаю на любую кнопку, они ничего не делают. Это похоже на то, как будто графический интерфейс показывает, но всей лежащей в основе логики нет. Есть идеи, в чем может быть проблема?
1 ответ
..Это файл jnlp (я не уверен на 100%, если это правильно): ..
Это не на 100% правильно. Проверьте это с помощью JaNeLA. Наибольшую озабоченность вызывает HREF "examp.jnlp", который, похоже, не соответствует реальному названию.
... ниже мой HTML..
Это также слишком сложно и, вероятно, неверно, хотя я сомневаюсь, что проблема здесь. На данный момент запустите JNLP по простой старой HTML-ссылке. Я предполагаю, что вы проводите тестирование на машине с 1.6+ Java, поэтому на этом этапе файл deployJava.js не требуется.
... через некоторое время приложение просто открывается, но когда я нажимаю на любую кнопку, они ничего не делают. Это похоже на то, как будто графический интерфейс показывает, но всей лежащей в основе логики нет. Есть идеи, в чем может быть проблема?
Без кода это немного сложно сказать. Но некоторые предварительные вопросы:
Код проглатывает исключения на любом этапе? (Если так, исправьте это немедленно!)
Что сообщается в консоли Java при запуске приложения? При отладке важно, чтобы консоль открывалась при каждом запуске апплета Java или приложения JWS. Видимость консоли настраивается через панель управления Java.