възможна ли е универсална програмка
4 отговора
296 прегледа
възможна ли е универсална програмка
Здравейте, Ява маниаци!
Точно си завърших първото проектче, което ми отне доста време и усилия. Направих си JAR executable архивче и сега искам да го пусна по различни компютри, но срещам няколко определени и още много неопределени трудности.
1- ако компютъра на който го качвам няма същата или по-нова версия на SDK-то, програмката не ще да върви като хората, а SDKто е около 100тина мегабайта, няма ли начин да си върви само на Runtime Enviroment-a.
Мислех си, ако включа в JAR-а всички пакети които използвам, като swing, awt и др. може и да избегна SDK-то, обаче нали всеки унаследява сума си други пакети, и накрая сигурно ще трябва да включа цялото SDK вътре
2- Под Linux System.getProperty("user.home") ми изкарва какво ли не, но никога текущата директория в която ми е JAR-а. Освен това има разлика, в това дали ще пусна JAR-а от иконката му с мишката или от конзолата, защо!? Това Java или Linux проблем е?
3- Почти на всеки компютър трябва тепърва да асоциирам JAR-овете с програмата която да ги пуска
Това са основните неща, които се сещам.
Няма ли начин така да си универсиализирам програмката, така че да няма нужда да тичам да настройвам и инсталирам разни допълнения на всеки компютър?
Точно си завърших първото проектче, което ми отне доста време и усилия. Направих си JAR executable архивче и сега искам да го пусна по различни компютри, но срещам няколко определени и още много неопределени трудности.
1- ако компютъра на който го качвам няма същата или по-нова версия на SDK-то, програмката не ще да върви като хората, а SDKто е около 100тина мегабайта, няма ли начин да си върви само на Runtime Enviroment-a.
Мислех си, ако включа в JAR-а всички пакети които използвам, като swing, awt и др. може и да избегна SDK-то, обаче нали всеки унаследява сума си други пакети, и накрая сигурно ще трябва да включа цялото SDK вътре
2- Под Linux System.getProperty("user.home") ми изкарва какво ли не, но никога текущата директория в която ми е JAR-а. Освен това има разлика, в това дали ще пусна JAR-а от иконката му с мишката или от конзолата, защо!? Това Java или Linux проблем е?
3- Почти на всеки компютър трябва тепърва да асоциирам JAR-овете с програмата която да ги пуска
Това са основните неща, които се сещам.
Няма ли начин така да си универсиализирам програмката, така че да няма нужда да тичам да настройвам и инсталирам разни допълнения на всеки компютър?
Re: възможна ли е универсална програмка
JRE може да изпълне всяка програма. JDK се ползва за разработка. Най-веше заради документацията, дебъг символите в rt.jar и някой допълнително tool-ове.
System.getProperty("user.home") връща home директорията на потребителя, не текущата директория. Не е нито Java нито Linux проблем.
Третото е така както го разбираш.
Можеш да ползваш Java Web Start [линк] и да си стартираш/инсталираш програмата през browser-a. Това прави и иконка на Desktop-а
System.getProperty("user.home") връща home директорията на потребителя, не текущата директория. Не е нито Java нито Linux проблем.
Третото е така както го разбираш.
Можеш да ползваш Java Web Start [линк] и да си стартираш/инсталираш програмата през browser-a. Това прави и иконка на Desktop-а
Re: възможна ли е универсална програмка
Да, за JRE-то и SDK-то, ми се прояснявят нещата, мерси
А иначе за System.getProperty("user.home"), съм го объркал в поста, всъщност използвам "user.dir" наблюдавам следното:
"user.dir" не съвпада с директорията в която ми е JAR-a, когата го стартирам от иконката, вместо това отива в "user.home", това е само в Linux-a, иначе в Windows си върви нормално
А иначе за System.getProperty("user.home"), съм го объркал в поста, всъщност използвам "user.dir" наблюдавам следното:
"user.dir" не съвпада с директорията в която ми е JAR-a, когата го стартирам от иконката, вместо това отива в "user.home", това е само в Linux-a, иначе в Windows си върви нормално
Re: възможна ли е универсална програмка
user.dir e tekushtata rabotna direktoria. Mozhe da e syvsem razlichna ot tova kyde ti se namira prilozhenieto.
Mozhesh da namerish kyde e JAR file-a kato vzemesh edin klas ot nego i namerish otkyde e zareden. Vizh tova:
[линк]?
Mozhesh da namerish kyde e JAR file-a kato vzemesh edin klas ot nego i namerish otkyde e zareden. Vizh tova:
[линк]?