» »

[Java] Zagon brez instalirane Jave

[Java] Zagon brez instalirane Jave

Rokec ::

Pozdravljeni!
Rad bi naredil program v Javi za osebno rabo širšim uporabnikom PC-jev (ki niso nujno vešči z njim). Ali morajo imeti vsi inštalirano Javo, al se lahko temu nekako izognem?
Ali bi bilo dovolj že, da ima uporabnik datoteki java.exe in javaw.exe? Ti dve bi lahko nekako vštulil poleg programa.

A se takšni programi drugače pišejo v kakšnem drugem programskem jeziku? Pa če da - zakaj?
Ali je java sploh primerna za take zadeve? Aja, zadeve v smislu npr. kakih lažjih igric, programčkov,...
Pa prosim, da upoštevate to, da znam samo Javo in se (še) ne bi rad učil drugega programskega jezika, če ni nujno.
Hvala! :))

Utk ::

Naredi kot applet, znotraj browserja, tam ima javo res skoraj vsak. Sej vse drugo ostane isto.

Rokec ::

Ja, sam ne bi rad, da se ti odpre explorer (takšen ali drugačen) - samo program.
Tako, kot npr. kalkulator.

64202 ::

gcj + swt, sam sicer nisem tega preizkusil
I am NaN, I am a free man!

DKennedys ::

Java generira vmesno kodo (byte code) zato rabis nek Run-time sistem, ki to kodo sprotoma interpretira. To ti omogoca Java JRE (Java Runtime Environment).
V primeru, da se zelis izogniti sprotnemu interpretiranju, lahko uporabis Just In Time Compiler, a bos s tem izgubil platformsko neodisnost.

Java se v splosnem najbolj razsirjeno uporablja pri poslovnih aplikacijah in bazah (zaradi strezniskih zrn - Enterprise Java Beans)

lp.

Rokec ::

Jst itak rabim samo za Windowse. Torej, če uporabim Just In Time Compiler, lahko naredim "neodvisno" aplikacijo? In se da to nekako nastavit, da se enostavno inštalira na računalnike, kjer hočem zaganjat program (de bojo znale npr. računalniško nepismene mamice uporabljat programe)?
Kaj pa maven? Pozna kdo?

A lahko mimgrede še vprašam, kaj so ti fižolčki? Tak intuitivno?

Nerdor ::

Kak pa za vraga ima Azureus potem takem .exe!? Azureus.exe - pa vsi vemo, da je napisan v Javi s pomočjo Swt-ja. A so mogoče gcj uporabili, da so zgenerirali exe pod windowsi!?
... for lifetime!

kopernik ::

Sem si pogledal home page od tegale Azureusa in piše, da potrebuješ JRE.
Exe pa imajo najbrž zaradi lažje uporabe za win uporabnike, tako kot npr. eclipse.

Nerdor ::

Rokec: če znaš samo Javo pol pa premalo Lobiraš :D Recimo, da so opisali odgovor na Javalobby (link) s uporabo programskega orodja Jsmooth (link).

Ubistvu, gre za warpper, ki kliče JRE, tak da ne rabiš binary stacka (kot je gcj rešitev, ki je 100% binary in nič ne kliče JRE/JVM), da bi vse skupaj delovalo kot samostojen program. Zgeneriran .exe samo poskrbi, da se inicijalizira JRE in program steče kot java program.

Brez JRE bo zelo, zelo težko karkoli napraviti. Gcj je bolj za linux kot za windows.
... for lifetime!

Zgodovina sprememb…

  • spremenil: Nerdor ()

kopernik ::


JSmooth is a Windows EXE wrapper for Java applications. JSmooth takes the approach of connecting an executable JAR file with the Java installation on a user's computer (the hard part for a user), and if they don't have a Java installation, JSmooth provides integration to help navigate them to the Java download pages.


Brez JRE torej še vedno ne bo šlo, Nerdor.

Nerdor ::

Ofcourse, da rabi JRE. Brez JRE je še daleč v prihodnosti. OZr. samo v kaki Fedora Core 4 :)
... for lifetime!

Matako ::

V primeru, da se zelis izogniti sprotnemu interpretiranju, lahko uporabis Just In Time Compiler, a bos s tem izgubil platformsko neodisnost.

Ne boš... JIT samo pomeni da, kot si rekel, namesto da se VM koda sproti implementira jo Java Run-time najprej prevede v kodo za ciljni procesor/platvormo v pomnilnik, nato tam izvede. Tvoje .class datoteke in ostalo so še vedno iste - torej prenosljive. Ali imaš JIT ali ne se sploh ne opazi, razen mogoče, da je nek majhen fiksni časovni pribitek (prevajanje). V bistvu so praktično *vsi* Java RTE na vseh popularnih platformah JIT in to že kar nekaj časa.

Zdaj, drugo je pa razni gcj-ji in to - to pa je klasičen prevajalnik, ki prevede Java izvorno kodo direktno na ciljno platformo, tam pa potem seveda stvar res laufa samo na določeni platvormi.

In še tretja stvar so razne samorazpakljive .exe datoteke, installerji in to. Jasno niso portabilni, samo tisto kar pa razpakirajo pa je običajna Java scena.
/\/\.K.

Zgodovina sprememb…

  • spremenil: Matako ()

64202 ::

Kako velike binarye pa nardi gcj, ce je ze kdo kaj netrivialnega delal. Za primerjavo mam tukaj en 50k vrstic C++ program, prakticno nic dodatnih knjiznic:

msvc, vse staticno: ~ 2 mb
gcc na linuxu, vse staticno razen libc: ~3.9 mb
I am NaN, I am a free man!

Zgodovina sprememb…

  • spremenilo: 64202 ()

noraguta ::

eh če znaš javo in hočeš za winse .net pretvor magari j# al pa c#. zadeve so podobne imaš pa bootstraper setup ki ti nainstalira framework , če ga ni(na linuxu pa naj se znajdejo z "binarijem", itak so 133t). sicer pa gcj ("helo helo draga usedlina") požre 2 mega.

gcj z mingw ni problem , nerdor rad laže.

cl(vc++) še vedno potrebuje crt(libc).
Pust' ot pobyedy k pobyedye vyedyot!

64202 ::

Se en primer za gcj + swt: stran na sancho-gui.sourceforge.net
I am NaN, I am a free man!

drejc ::

Ne v J#, rajs ne. Sploh ne vidm logike, ce ma user pravice za instalacijo frejmvorka ma tut za jre, tko da tuki ni fore. Extra effort brez veze.

Tut ne bo šlo cut&paste v J#, take mahinacije so pogost sizifovo delo. Trust me.

Torej, kaj je pol najboljse za razpečevat zadeve, sklepam da se gcj potem ne da z jad-om razbit?
"Rise above oneself and grasp the world"
- Archimedes of Syracuse

Zgodovina sprememb…

  • spremenil: drejc ()

noraguta ::

logika je v 1 instaler , ki poskrbi za namestitev aplikacije in frameworka, ce le ta ni prisoten, zakaj tega sunu ni uspelo skozi desetletje obstoja jave , meni zastrto inu precej nonšalantno. drugače pa ja , instalirat jre ni noben problem. tudi za streljačine moraš directx , driverje etc.

drugače pa je j# , čisto simpatično pomagalo.
Pust' ot pobyedy k pobyedye vyedyot!

kopernik ::

Najbrž zato, ker bi morala biti javanska aplikacija bundlana z x instalerji, za vsak OS posebej. To je hudo nepraktično. Poleg tega ima najbrž prste vmes tudi marketinška politika Suna.

Java WebStart je korak v pravo smer, saj razvijalce razbremeni skrbi okrog nameščanja in posebnosti vsakega oper. sistama.

Zgodovina sprememb…

  • spremenil: kopernik ()

noraguta ::

webstart no bootstrap ! je deployment sistem.
Pust' ot pobyedy k pobyedye vyedyot!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Programski jezik za vse operacijske sisteme (strani: 1 2 )

Oddelek: Programiranje
7215295 (12619) Grumf
»

Previdno z Javo (spet) (strani: 1 2 )

Oddelek: Novice / Varnost
7425300 (21977) Grumf
»

Java vprasanje - kako spraviti v *.exe datoteko

Oddelek: Programiranje
193807 (156) killa bee
»

Kako v javi -> exe

Oddelek: Programiranje
7889 (786) Japonski
»

Mono Beta 1

Oddelek: Novice / Ostala programska oprema
152899 (2899) mathjazz

Več podobnih tem