![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| PashaOvechkin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 394 Регистрация: 1.4.2007 Где: Riga, Latvia Репутация: 2 Всего: 4 |
Привет всем!
Мне необходимо передавать параметры в мейн метод, запуская ето через ЙНЛП. Генерю строку и запускаю
Реально строка выглядит так-> "javaws -open first,second,third http://mybest.url.com/my.jnlp" В но в спецификации сказано что параметры должны передаватся так -> "javaws -open first second third http://mybest.url.com/my.jnlp" т.и не через запятую одним стрингом, а по нормальному, как и принято к командной строке. Первый вариант у меня работает. Получаю все параметры в первом (т.и в нулевом) и сплитером разделяю их. Может кто нить знает как сделать правильно? Откровенно говоря похоже на буг :\ Это сообщение отредактировал(а) PashaOvechkin - 19.3.2009, 13:40 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Ты просто неправильно передаешь параметры в vararg метод. Или params передавай не в массиве, а по одному. Или создай новый массив куда скопируй "javaws", "-open", params и JNLP_URL. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| PashaOvechkin |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 394 Регистрация: 1.4.2007 Где: Riga, Latvia Репутация: 2 Всего: 4 |
Стоп стоп стоп...
забудем об етом ->
Есть строка "javaws -open first,second,third http://mybest.url.com/my.jnlp" если из кода
то всё ок, и можно сплитить по "," Если же строка = "javaws -open first second third http://mybest.url.com/my.jnlp"
Это сообщение отредактировал(а) PashaOvechkin - 19.3.2009, 13:54 |
||||||
|
|||||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Вообще нифига не понятно. Опиши чётко, что есть на входе и что надо получить на выходе.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| PashaOvechkin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 394 Регистрация: 1.4.2007 Где: Riga, Latvia Репутация: 2 Всего: 4 |
Боже... Нужно передать параметры в мейн метод, вызывая его веб стартом.
Используя командную строку. у javaws есть команда -open, кототая способна ети параметры передать. По всем правилам параметры передаются так -> "javaws http://mybest.url.com/my.jnlp -open first second third" но таким образом я получаю лиш первый параметр. И поетому придумал решение "javaws http://mybest.url.com/my.jnlp -open first,second,third" т.и все пара,етры передаются в одном, в первом параметре. А хотелось бы по человечески. Это сообщение отредактировал(а) PashaOvechkin - 19.3.2009, 15:21 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Заключи параметры в кавычки:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| PashaOvechkin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 394 Регистрация: 1.4.2007 Где: Riga, Latvia Репутация: 2 Всего: 4 |
хмм.. Помоему не прокатывало. Но попробую еще раз. Пасиб за совет!
|
|||
|
||||
| aleksandy |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 260 Регистрация: 17.12.2006 Репутация: 4 Всего: 5 |
PashaOvechkin, ты сигнатуру конструктора ProcessBuilder-а видел? Там ожидается массив строк на вход, таким образом твой
нужно записать как-то так
З.Ы. Если содержимое params заранее известно, то можно сделать так:
|
||||||
|
|||||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
aleksandy,
params - это String, если бы params был бы String[] то была бы ошибка компиляции. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| PashaOvechkin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 394 Регистрация: 1.4.2007 Где: Riga, Latvia Репутация: 2 Всего: 4 |
ProcessBuilder ето последнее что интересует в етой ситуации...
Даже просто запуская через командную строку, "javaws http://mybest.url.com/my.jnlp -open first,second,third" то в результате получаю -> args[0] = "-open" args[1] = "first,second,third" args[2] nullPointer . . . Вобщем то параметры передаются, всё ок, но хотелось добится что бы запуская так -> "javaws http://mybest.url.com/my.jnlp -open first second third" args[0] = "first" args[1] = "second" args[2] = "third" Если параметры передавать в кавычках, как и советовал ЛСД, то они всё равно (естественно )все прийдут в args[1] = "first second third" Видимо ето и есть единственный верный способ... Это сообщение отредактировал(а) PashaOvechkin - 20.3.2009, 12:56 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Возможно javaws позволяет использовать несколько раз параметр -open, т.е.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| aleksandy |
|
||||||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 260 Регистрация: 17.12.2006 Репутация: 4 Всего: 5 |
RTFM, парень т.е. запись String... и String[] в сигнатуре метода одно...ственны. Разница лишь в том, что если
1. либо один аргумент в виде массива строк; 2. сколько угодно аргументов типа String. |
||||||||||||
|
|||||||||||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Прежде чем советовать другим RTFM, неплохо было бы вообще почитать о чем идет речь. И внимательно взглянуть на код.
а теперь объясни как ты передашь в качестве params - String[] и не получишь при этом ошибку компиляции? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| aleksandy |
|
||||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 260 Регистрация: 17.12.2006 Репутация: 4 Всего: 5 |
LSD, чуть выше я все написал, читай внимательнее. Где в предложенном мною варианте ошибка? Укажи, пожалуйста. Согласен, я немного не углядел, что в исходном коде params - это просто строка. Однако, я думаю ни для кого не секрет, что в цикле вида
Это сообщение отредактировал(а) aleksandy - 3.4.2009, 18:27 |
||||||||
|
|||||||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Ошибка в то, что ты читаешь тему по диагонали (к вопросу о внимательном чтении -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |