Случается, когда вы пытаетесь получить доступ к массиву с помощью ключа, который не существует в массиве.
Типичным примером для уведомления Undefined Index
будет ( demo )
$data = array('foo' => '42', 'bar');
echo $data['spinach'];
echo $data[1];
Оба spinach
и 1
не существуют в массив, вызывающий запуск E_NOTICE
.
Решение состоит в том, чтобы убедиться, что индекс или смещение существуют до доступа к этому индексу. Это может означать, что вам необходимо исправить ошибку в вашей программе, чтобы убедиться, что эти индексы существуют, когда вы ожидаете их. Или это может означать, что вам нужно проверить, существуют ли индексы с помощью array_key_exists
или isset
:
$data = array('foo' => '42', 'bar');
if (array_key_exists('spinach', $data)) {
echo $data['spinach'];
}
else {
echo 'No key spinach in array';
}
Если у вас есть код например:
, тогда $_POST['message']
не будет установлена, когда эта страница будет загружена первой, и вы получите указанную выше ошибку. Только когда форма будет отправлена и этот код будет запущен во второй раз, будет существовать индекс массива. Вы обычно проверяете это с помощью:
if ($_POST) .. // if the $_POST array is not empty
// or
if ($_SERVER['REQUEST_METHOD'] == 'POST') .. // page was requested with POST
Вопросы, относящиеся:
Самый легкий маршрут, вероятно, обновляет или переустанавливает среду выполнения Java (JRE).
Или это:
C:\Program Files\Java\j2re1.4.2_04\bin\javaw.exe" -jar "%1" %
(Примечание: часть, запускающаяся с 'javaw', должна точно быть похожей на это; другая часть пути может варьироваться, в зависимости от которой версии Java Вы используете), тогда нажимают кнопки OK, пока все диалоговые окна не закрываются. , Который был украден отсюда: http://windowstipoftheday.blogspot.com/2005/10/setting-jar-file-association.html
Вы хотите проверить несколько вещей; если это - Ваш собственный файл банки, удостоверьтесь, что Вы определили Основной класс в декларации. Так как мы знаем, что можно выполнить его из командной строки, другая вещь сделать, создают ярлык окон и изменяют свойства (необходимо будет озираться, у меня нет машины Windows для взгляда на) так, чтобы команда, которую это выполняет на открытом, была Java - команда банки, которую Вы упомянули.
другая вещь: если что-то не перепутано, это должно работать так или иначе; проверьте и удостоверьтесь, что Вам связали Java с .jar расширением.
Помимо всех других предложений, существует еще одна вещь, которую необходимо рассмотреть. Действительно ли Ваш helloworld.jar является консольной программой? Если это, то я не полагаю, что Вы будете в состоянии превратить его в двойной активируемый по щелчку файл банки. Консольные программы используют обычное окно оболочки cmd.exe для своего ввода и вывода. Обычно банка "средство запуска" связывается с javaw.exe, который не создает окно командного процессора.
Интересный побочный эффект этого вызывает проблему при запуске исполняемых файлов jar в командной строке.
Если вы попробуете (в командной строке):
jarfile.jar parameter
Нет радости, потому что это переводится в следующее (что не работает):
javaw.exe -jar jarfile.jar parameter
Однако следующая команда действительно работает:
java.exe -jar jarfile.jar parameter
Если вы измените ассоциацию в файловом менеджере, как описано выше, на:
"C:\Program Files\Java\j2re1.4.2_04\bin\java.exe" -jar "%1" %*
Затем вы можете ввести:
jarfile.jar parameter
в командной строке, и теперь он будет работать!
РЕДАКТИРОВАТЬ: (Однако затем вы получаете черное окно консоли, когда запускаете Java-приложение на основе формы (не консольное), поэтому это не идеальное решение)
Если вы запускаете эти jar-файлы, дважды щелкая их в окнах , никакие параметры не передаются, поэтому ваш Java-код должен обрабатывать исключение переполнения стека и включать в конце функцию «нажать клавишу», иначе окно просто исчезнет.
Чтобы передать параметр в Windows, вы должны создать ярлык для файла jar, который включает параметр в целевой строке (щелкните правой кнопкой мыши ярлык и выберите свойства). Вы не можете добавлять параметры к значку файла jar
Здесь нет единого согласованного решения, но у вас будет такая же проблема с любым другим консольным приложением.
Существует бесплатное приложение для Windows под названием «bat to exe», которое можно использовать для создания exe-файла из файла .bat с соответствующей командной строкой в нем. вы также можете встроить файл jar в исполняемый файл с помощью этого приложения и заставить его очистить его после завершения работы, так что это может быть более элегантным решением.
который включает параметр в целевой строке (щелкните правой кнопкой мыши ярлык и выберите свойства), вы не можете добавлять параметры к самому значку файла jar таким образом.Здесь нет единого согласованного решения, но вы бы такая же проблема возникает с любым другим консольным приложением.
Существует бесплатное приложение для Windows под названием «bat to exe», которое можно использовать для создания exe-файла из файла .bat с соответствующей командной строкой в нем. вы также можете встроить файл jar в exe с помощью этого приложения и очистить его после завершения работы, так что это может быть более элегантным решением.
который включает параметр в целевой строке (щелкните правой кнопкой мыши ярлык и выберите свойства), вы не можете добавлять параметры к самому значку файла jar таким образом.Здесь нет единого согласованного решения, но вы бы такая же проблема возникает с любым другим консольным приложением.
Существует бесплатное приложение для Windows под названием «bat to exe», которое можно использовать для создания exe-файла из файла .bat с соответствующей командной строкой в нем. вы также можете встроить файл jar в исполняемый файл с помощью этого приложения и заставить его очистить его после завершения работы, так что это может быть более элегантным решением.
но у вас будет такая же проблема с любым другим консольным приложением.Существует бесплатное приложение для Windows под названием «bat to exe», которое можно использовать для создания exe-файла из файла .bat с соответствующей командной строкой в нем. вы также можете встроить файл jar в исполняемый файл с помощью этого приложения и заставить его очистить его после завершения работы, так что это может быть более элегантным решением.
но у вас будет такая же проблема с любым другим консольным приложением.Существует бесплатное приложение для Windows под названием «bat to exe», которое можно использовать для создания exe-файла из файла .bat с соответствующей командной строкой в нем. вы также можете встроить файл jar в exe с помощью этого приложения и очистить его после завершения работы, так что это может быть более элегантным решением.
В Windows XP * вам нужно всего 2 команды shell:
C:\>ftype myjarfile="C:\JRE1.6\bin\javaw.exe" -jar "%1" %*
C:\>assoc .jar=myjarfile
очевидно, используя правильный путь для JRE и любое имя вместо myjarfile
.
Чтобы просто проверить текущие настройки:
C:\>assoc .jar
C:\>ftype jarfile
на этот раз, используя значение, возвращенное первой командой, если оно есть, вместо jarfile
.
* не протестировано в Windows 7
В Windows Vista или Windows 7 был удален ручной редактор объединения файлов .
Самый простой способ - запустить Jarfix, крошечный, но мощный инструмент свободного программного обеспечения. Просто запустите его, и ваши Java приложения вернутся... дважды щелкните снова.
.Если у вас есть файл jar с именем Example.jar, следуйте этим правилам:
notepad.exe
java -jar Example.jar
.bat
.jar
файл .jar