Russian Qt Forum

Qt => Многопоточное программирование, процессы => Тема начата: Otr0k от Сентябрь 15, 2013, 12:14



Название: Запуск процесса java c параметрами
Отправлено: Otr0k от Сентябрь 15, 2013, 12:14
При запуске java процесса с параметрами ничего не происходит.Помогите разобраться.
Код:
QString java = "C:/Program Files/Java/jre7/bin/javaw.exe";
    QString Version = "1.6.2";
    QString DirGame = ".minecraft";
    QString username = "madrigall";
    QString app = QDir::homePath() + "/Application Data/";
    QStringList arguments;

    arguments <<QString("-Xmx%1m").arg("1000");
    arguments <<QString("-Djava.library.path=%1%2/versions/%3/navites").arg(app).arg(DirGame).arg(Version);
    arguments << " -cp ";
    arguments <<QString("%1%2/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar;").arg(app).arg(DirGame);

    arguments <<QString("%1%2/libraries/argo/argo/2.25_fixed/argo-2.25_fixed.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/org/bouncycastle/bcprov-jdk15on/1.47/bcprov-jdk15on-1.47.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/commons-io/commons-io/2.4/commons-io-2.4.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar;").arg(app).arg(DirGame);

    arguments <<QString("%1%2/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/com/google/code/gson/gson/2.2.2/gson-2.2.2.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/org/lwjgl/lwjgl/lwjgl/2.9.0/lwjgl-2.9.0.jar;").arg(app).arg(DirGame);
    arguments <<QString("%1%2/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.0/lwjgl_util-2.9.0.jar;").arg(app).arg(DirGame);

    arguments <<QString("%1%2/versions/%3/%3.jar").arg(app).arg(DirGame).arg(Version);
    arguments <<QString("net.minecraft.client.main.Main --username %1 --session %2 --version %3 --gameDir %4%5 --assetsDir %4%5/assets").arg(username).arg("111111").arg(Version).arg(app).arg(DirGame);
 StartGame->startDetached(java, arguments);


Название: Re: Запуск процесса java c параметрами
Отправлено: crashtua от Октябрь 01, 2013, 09:59
Пишете лаунчер для майнкрафта?:) Для начала, выведете полученную командную строку, попробуйте запустить ручками, с консоли.


Название: Re: Запуск процесса java c параметрами
Отправлено: Bepec от Октябрь 01, 2013, 10:16
Последний аргумент это на самом деле несколько аргументов на мой взгляд.


Название: Re: Запуск процесса java c параметрами
Отправлено: Otr0k от Октябрь 21, 2013, 18:15
Да, пишу лаунчер :).
Пишете лаунчер для майнкрафта?:) Для начала, выведете полученную командную строку, попробуйте запустить ручками, с консоли.
В том то и дело, что строка вытянута из запуска minecraft.


Название: Re: Запуск процесса java c параметрами
Отправлено: mutineer от Октябрь 21, 2013, 19:47
Да, пишу лаунчер :).
Пишете лаунчер для майнкрафта?:) Для начала, выведете полученную командную строку, попробуйте запустить ручками, с консоли.
В том то и дело, что строка вытянута из запуска minecraft.

Выведи ее в консоль чтобы понять собрана ли она правильно


Название: Re: Запуск процесса java c параметрами
Отправлено: Otr0k от Октябрь 21, 2013, 19:59
Код:
-Xmx512M -Djava.library.path=C:\Documents and Settings\Админ\Application Data\.minecraft\versions\1.6.2\1.6.2-natives-7203276860885 -cp C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\google\guava\guava\14.0\guava-14.0.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\versions\1.6.2\1.6.2.jar net.minecraft.client.main.Main --username Otr0k--session token:571ca3b9c14148fa88be49112137ad9c:6c90fb68c2864968ac4a9fc0f6df0b7e --version 1.6.2 --gameDir C:\Documents and Settings\Админ\Application Data\.minecraft --assetsDir C:\Documents and Settings\Админ\Application Data\.minecraft\assets

Вот такой код в консоле.


Название: Re: Запуск процесса java c параметрами
Отправлено: mutineer от Октябрь 21, 2013, 20:32
1) это то, что ты хотел?
2) может проблема в пробелах в путях и их надо в кавычки брать?


Название: Re: Запуск процесса java c параметрами
Отправлено: Otr0k от Октябрь 22, 2013, 09:19
В qDebug выводить все строки до 
Код:
arguments <<QString("%1%2/libraries/org/bouncycastle/bcprov-jdk15on/1.47/bcprov-jdk15on-1.47.jar;").arg(app).arg(DirGame);
. Как проверить какие данных в java пришли?


Название: Re: Запуск процесса java c параметрами
Отправлено: mutineer от Октябрь 22, 2013, 09:56
В qDebug выводить все строки до 
Код:
arguments <<QString("%1%2/libraries/org/bouncycastle/bcprov-jdk15on/1.47/bcprov-jdk15on-1.47.jar;").arg(app).arg(DirGame);
. Как проверить какие данных в java пришли?


Ниче не понял. Это ты к чему?


Название: Re: Запуск процесса java c параметрами
Отправлено: Otr0k от Октябрь 22, 2013, 10:21
Что в QDebug выводятся не все аргументы.


Название: Re: Запуск процесса java c параметрами
Отправлено: mutineer от Октябрь 22, 2013, 10:22
так выводи все


Название: Re: Запуск процесса java c параметрами
Отправлено: Otr0k от Октябрь 22, 2013, 10:23
В том и дело что вывожу все


Название: Re: Запуск процесса java c параметрами
Отправлено: mutineer от Октябрь 22, 2013, 10:25
В qDebug выводить все строки до 

Халк ломать? То есть ты выводишь все, а выводится не все? Ну покажи как выводишь


Название: Re: Запуск процесса java c параметрами
Отправлено: Otr0k от Октябрь 22, 2013, 10:26
Вывожу обычно, qDebug() << arguments;
Как проверить какие данных передались Java?


Название: Re: Запуск процесса java c параметрами
Отправлено: mutineer от Октябрь 22, 2013, 10:28
Залезть внутрь и проверить))


Название: Re: Запуск процесса java c параметрами
Отправлено: Otr0k от Октябрь 22, 2013, 10:30
Какие еще есть варианты почему не выводится все?


Название: Re: Запуск процесса java c параметрами
Отправлено: mutineer от Октябрь 22, 2013, 10:32
Попробуй выводить частями


Название: Re: Запуск процесса java c параметрами
Отправлено: mutineer от Октябрь 22, 2013, 10:35
Код:
-Xmx512M -Djava.library.path=C:\Documents and Settings\Админ\Application Data\.minecraft\versions\1.6.2\1.6.2-natives-7203276860885 -cp C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.5\jopt-simple-4.5.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\argo\argo\2.25_fixed\argo-2.25_fixed.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\org\bouncycastle\bcprov-jdk15on\1.47\bcprov-jdk15on-1.47.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\google\guava\guava\14.0\guava-14.0.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\org\apache\commons\commons-lang3\3.1\commons-lang3-3.1.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\com\google\code\gson\gson\2.2.2\gson-2.2.2.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.0\lwjgl-2.9.0.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.0\lwjgl_util-2.9.0.jar;C:\Documents and Settings\Админ\Application Data\.minecraft\versions\1.6.2\1.6.2.jar net.minecraft.client.main.Main --username Otr0k--session token:571ca3b9c14148fa88be49112137ad9c:6c90fb68c2864968ac4a9fc0f6df0b7e --version 1.6.2 --gameDir C:\Documents and Settings\Админ\Application Data\.minecraft --assetsDir C:\Documents and Settings\Админ\Application Data\.minecraft\assets

Вот такой код в консоле.

Тут у тебя последняя запись это --assetsDir C:\Documents and Settings\Админ\Application Data\.minecraft\assets
И в коде это у тебя последний параметр, добавляющийся в arguments. Почему же ты говоришь что в консоль выводится не все?


Название: Re: Запуск процесса java c параметрами
Отправлено: Otr0k от Октябрь 22, 2013, 12:01
Эта строка взята с уже запущенного процесса и я ее просто разбил на аргументы.


Название: Re: Запуск процесса java c параметрами
Отправлено: mutineer от Октябрь 22, 2013, 12:04
Офигеть... тебя попросили вывести в консоль то, что получилось у тебя в программе, ты показал какую-то другую строку...  в чем смысл...


Название: Re: Запуск процесса java c параметрами
Отправлено: Otr0k от Октябрь 22, 2013, 12:07
Я дал мой код и строку запуска для сравнения(простите протупил). В qDebug сейчас выводится

Код:
-Xmx100m", "-Djava.library.path=C:/Documents and Settings/Àäìèí/Application Data/.minecraft/versions/1.6.2/navites", " -cp ", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/4.5/jopt-simple-4.5.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/com/paulscode/codecwav/20101023/codecwav-20101023.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/com/paulscode/libraryjavasound/20101123/libraryjavasound-20101123.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/com/paulscode/librarylwjglopenal/20100824/librarylwjglopenal-20100824.jar;") 
("C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/com/paulscode/soundsystem/20120107/soundsystem-20120107.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/argo/argo/2.25_fixed/argo-2.25_fixed.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/org/bouncycastle/bcprov-jdk15on/1.47/bcprov-jdk15on-1.47.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/org/apache/commons/commons-lang3/3.1/commons-lang3-3.1.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/commons-io/commons-io/2.4/commons-io-2.4.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/net/java/jinput/jinput/2.0.5/jinput-2.0.5.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/net/java/jutils/jutils/1.0.0/jutils-1.0.0.jar;")
("C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/com/google/code/gson/gson/2.2.2/gson-2.2.2.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl/2.9.0/lwjgl-2.9.0.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/libraries/org/lwjgl/lwjgl/lwjgl_util/2.9.0/lwjgl_util-2.9.0.jar;", "C:/Documents and Settings/Àäìèí/Application Data/.minecraft/versions/1.6.2/1.6.2.jar", "net.minecraft.client.main.Main --username madrigall --session 12345678901234566 --version 1.6.2 --gameDir C:/Documents and Settings/Àäìèí/Application Data/.minecraft --assetsDir C:/Documents and Settings/Àäìèí/Application Data/.minecraft/assets")
Отладка завершена

Только выводиться если выводить половину через одну переменную,а остальную через другую.