[java] JET executable bakken

Pagina: 1
Acties:

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
Ik heb JET helemaal goed aan de praat,
en hij compiled ook netjes.
Maar als ik mijn executable vervolgens op een andere
pc probeer te draaien, kan hij dll's niet vinden.

Kan ik deze dll's IN de executable krijgen,
zodat er echt maar EEN file nodig is om het programma te draaien?

of anders: hoe kan ik ze "meegeven" als ik mijn programma aan een ander geef.
(oftewel: hoe vind ik uit welke dll's hij vereist, en waar moet ik die dan bij die andere computer plaatsen? (of kan automatisch de dll's die hij nodig heeft groeperen.))

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

niet :)

dat kan alleen als je hem koopt :) Ze weten wel wat ze bij Excelsior weggeven :)

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
Kan dat dan wel met de standard of professional versie?

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
hmz... is gcj niet alleen voor linux dan?
ik zoek een compiler (voor source of class files)
die een standaard "stand-alone" .exe bestand kan maken van een java programma.
(inc. awt/swing)

JET is ECHT ideaal daarvoor; maarja,
in de personal-versie kan je wel executables maken,
maar die zijn niet stand-alone; oftewel; op een andere pc draaien ze niet.
En een andere versie van JET is mij veeel te duur ($350)

Verwijderd

ik heb de jet 2.5 beta gedownload, die ook java 1.4 rc ondersteunt. Schijnt dat deze JetPerfect bevat. JetPerfect kan zoiets doen als de dll's in de exe stoppen. Zodat je ook op machines kan draaien zonder java (denk ik).

Ook bevat JET zoiets als JETPack. Dit is een installer die ook meteen de JRE mee kan installeren.

Check the JET Userguide:
JET UserGuide

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
hmz.. is dat een freeware versie?
zou je misschien voor mij even willen uitproberen of je een java programma kan compilen tot executable,
en hem dan kan draaien op een andere pc? (zonder JET)?

Als dat namelijk lukt, zijn we voorgoed van het java2exe probleem af :)

Verwijderd

bit tired right now.

Er is alleen nog maar een freeware versie van JET 2.5 beta :) En ik heb zojuist een mailje ontvangen van excelsior met de instucties die ik net gaf. Ik zal het morgen uitproberen, post de resultaten hier als niemand mij voor is.

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
heel erg bedankt.

ik ben heeel erg benieuwd;
ik hoop dat zo'n gecompilede applicatie gewoon lekker draait op andere winboxen :)

Verwijderd

Ik heb de test uitgevoerd met deze code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
public class HelloWorldCount {
    public static void main(String[] args) {
        System.out.println("Hello World!!");
        for (int i=0; i<10; i++) {
            System.out.println(i);
            try {
                Thread.sleep(1000);
            } catch (Exception e) {}
        }
            
    }
}

Ik heb hem succesvol gecompileerd naar exe en daarna met JETPerfect standalone gemaakt. In plaats van een java.class (3kb) file is het nu een exe met allerlij folders en gecompileerde classes daarbij. In totaal ongeveer 8mb :(. Nu het probleem, de JETPack om van het geheel een installer te maken (zodat je niet hoeft te kloten met al die files) is alleen beschikbaar bij de professional edition. Dus ik zal zo wel ff de 8mb copieren naar een andere machine.

Iemand misschien een andere oplossing i.p.v. JETPack. Zou wel leuk zijn namelijk als er een installer van gemaakt zou kunnen worden.

Verwijderd

Ik heb het nu op een andere machine geprobeerd:

[error]
JET is not installed on your machine,
to deploy jet compiled binaries use
JetPack
[/error]

Om exes op andere machines te kunnen gebruiken heb je dus JETPack nodig. Deze wordt alleen geleverd bij de Professional edition :(

  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
jemig...
ik kan me dit ECHT NIET voorstellen;
een complete HEEL uitgebreide programmeertaal,
en er is niet eens een NORMALE compiler voor!

Ik moet op school java leren,
maarja, ik als studentje, kan toch geen $350 neerleggen voor een compilertje!
Hoe kan ik nou ooit een NORMAAL java-programma schrijven,
die bij een ander OOK gewoon draait...
"dan moet je applets gaan schrijven! " :(
maarja, dan mis je weer dat hele swinggedoe,
en ben je ALSNOG afhankelijk van software van derden...

  • roelio
  • Registratie: Februari 2001
  • Niet online

roelio

fruitig, en fris.

is toch niet echt een handige oplossing dus, dat JET...

maar ja, volgens mij ben je met Java gewoon gebonden aan het installeren van een JRE of SDK, daar doe je niets aan...

AMD Phenom II X4 // 8 GB DDR2 // SAMSUNG 830 SSD // 840 EVO SSD // Daar is Sinterklaas alweer!!


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Als je serieus met Java wilt werken is er maar 1 serieuze manier om je applicatie te draaien: in een Java Virtual Machine. De aard van het Java Platform is volledig gebaseerd op het draaien in zo'n JVM.

Je kunt de J2RE meeleveren met je applicatie en je kunt van je applicatie een executable-jar of zelfs een Java Web Start applicatie maken. Allebei zijn dit uitstekende en voor de eindgebruiker eenvoudige manieren om je applicatie te deployen.

Je kunt lang en breed zeuren om een native compiler, maar geloof me: dit is zinloos 8-) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Zynth
  • Registratie: September 2001
  • Laatst online: 29-07 15:30
hmz...
je gooit wel met een aantal nieuwe termen voor mij :)
zou je misschien kort kunnen uitleggen wat die dingen inhouden?

(ik weet het; het klinkt lui, van, zoek het zelf uit.
maarja, ik denk zo; je kan het beter van een expert horen.
Die weet precies wat het handigst en best is :))

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Zynth: je gooit wel met een aantal nieuwe termen voor mij :)
Kijk, dan moet je dus geen commentaar hebben op een platform :P .
zou je misschien kort kunnen uitleggen wat die dingen inhouden?
Nou vooruit dan...

Java Bytecode is de gecompileerde vorm van Java.
Java Bytecode kan je uitvoeren in een Java Virtual Machine.
In de Java 2 SDK en de Java 2 Runtime Environment zit zo'n Java Virtual Machine. De eerste (de SDK dus) is bedoeld voor ontwikkelaars. De J2RE is bedoeld voor thuisgebruikers. Deze laatste is wat een gewone gebruikers nodig heeft om een applicatie te kunnen draaien.

Een Java applicatie kan niet gewoon worden gestart, omdat het dus geen normale native executable is. Daarom moet je dus "java MainKlasseNaam" tikken om je applicatie te starten. Omdat dit niet zo opschiet voor gewone gebruikers zijn er verschillende methoden om je Java applicatie op een prettige manier te starten.

De bekendste manier is wel een executable jar. Dit is een Java Archive (soort zip file) met daarin een bestandje (Manifest.mf) die informatie bevat hoe deze jar uitgevoerd moet worden. Daar staat onder andere in wat de klasse is met de main methode.

Als een gebruiker nu op deze jar klikt wordt je programma gewoon snel en simpel uitgevoerd. Je kunt dus bijvoorbeeld ook een shortcut maken naar deze jar.

Java Web Start gaat nog een stap verder. Dit is tegelijk namelijk ook een methode om de applicatie op de computer van de gebruiker te krijgen. De Java Web Start applicatie staat namelijk gewoon op het web. In een duidelijk XML formaat kan je aangeven waaruit je applicatie bestaat en welke Java versie je nodig hebt. De gebruiker kan eenvoudig door de link te volgen de applicatie downloaden, installeren en uitvoeren.

Java Web Start heeft nog veel meer voordelen, daarvoor moet je maar even kijken op het web of op GoT. Ik heb er weleens vaker iets over verteld. Java Web Start is op dit moment voor veel applicaties in ieder geval veruit de makkelijkste manier van verspreiding. Het zorgt voor goed JVM versie-beheer, makkelijke installatie, integratie met de desktop van de gebruiker enz :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • tomato
  • Registratie: November 1999
  • Niet online
Misschien is iemand hier nog in geinteresseerd (ik in ieder geval niet ;)).

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Zie trouwens ook hier:

[topic=313034/1/25]

Afbeeldingslocatie: http://java.sun.com/products/javawebstart/images/dl-javawebstart3.jpg
:P.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Hier staat ook een lang verhaal over Java Web Start:

[topic=381027/1/25]

Java Web Start is een nieuwe manier om een Java applicatie te distribueren. Het is een soort tussenweg tussen een applet en een applicatie. Java Web Start is in feite een voorbeeld implementatie van het JNLP protocol.

Het JNLP protocol beschrijft in een XML formaat exact wat een applicatie is: welke libraries een applicatie gebruikt, welke Java versie nodig is, welke security eisen er zijn et cetera :) . JNLP is een prachtige ontwikkeling omdat het de problemen van Applets en applicaties oplost.

Als je Java Web Start installeert op je PC kan je vanuit elke browser door het volgen van een link in je web-browser een applicatie installeren en starten. Java Web Start download dan de benodigde resources voor de applicatie. De applicatie wordt op de PC gecached en als de applicatie er geschikt voor is kan de applicatie later offline opnieuw worden gestart.

Java Web Start heeft ook uitstekende voorzieningen voor het installeren van upgrades: omdat de applicatie via het web wordt gestart heb je altijd de laatste versie.

Java Web Start applicaties draaien standaard in de sandbox waar ook Java Applets in draaien. Hierdoor kan je applicaties dus gegarandeerd veilig gebruiken. Als applicaties echter meer rechten nodig hebben kunnen ze die prachtig specifiek aanvragen.

Java Web Start integreerd ook goed in de desktop van de gebruiker: onder MS Windows kunnen ze er bijvoorbeeld voor kiezen om icoontjes in het start-menu of op de desktop te plaatsen. Je kunt geinstalleerde applicaties ook eenvoudig verwijderen.

In de JNLP file staat ook aangegeven welke Java 2 Runtime Environment nodig is voor het draaien van de applicatie. Als deze niet geinstalleerd is wordt hij door Java Web Start automagisch geinstallleerd.

Kortom: geen classpath problemen, geen Java versie problemen, geen installatie problemen, geen security problemene en geen browser problemen. Java Web Start werkt namelijk gewoon via mime-types.

Dus: als je je applicatie makkelijk wilt aanbieden aan een gebruiker is Java Web Start op dit moment veruit de beste keuze naar mijn mening :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

ik heb webstart ook al, maar waarom werken de meeste programma's niet met Java 1.4 rc, ik dacht dat ik op GoT al een keer gelezen had dat dit niet kon totdat 1.4 uit was, maar er werd ook een oplossing genoemd, je versie faken ofzo. Maar ik kan de thread niet meer vinden. Volgensmij noemde jij die oplossing mbravenboer? Hoe zit het nou precies? (ik wil de militairy game weer gaan spelen :))

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
SurfingFromAM2PM: ik heb webstart ook al, maar waarom werken de meeste programma's niet met Java 1.4 rc
Klopt. Als een applicatie een JVM groter dan een bepaalde versie vereist (1.2+ of 1.3+ bijvoorbeeld) tellen de beta's en release candidates niet mee.
maar er werd ook een oplossing genoemd, je versie faken ofzo
Inderdaad. Je kunt je 1.4 JVM gewoon bij de preferences handmatig toevoegen als een 1.3 of 1.4 final :) . Zo kan je vrijwel alles in jezelfde JVM draaien. Nogal een ranzige oplossing, maar het werkt wel :P .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

ok, waar kan ik die preferences vinden? Geen idee hoe ik ze moet aanpassen ofzo, wist eigenlijk niet dat er preferences waren.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
SurfingFromAM2PM: ok, waar kan ik die preferences vinden?
Gewoon in de Application Manager van Java Web Start. Dit is javaws in je Java Web Start installatie. Onder het file menu vind je de optie preferences.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

ok, ik heb de preferences in JavaWebstart gevonden in File->Preferences, maar zodra ik dan iets via het web wil starten dan zet WebStart er automatisch een 2e java versie bij, weer 1.4-rc

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
SurfingFromAM2PM: maar zodra ik dan iets via het web wil starten dan zet WebStart er automatisch een 2e java versie bij, weer 1.4-rc
:? Je kunt gewoon de product version editen in de tabel. Je kunt dus dezelfde JRE onder verschillende versies toevoegen. Als je een 1.4-rc onder 1.3 toevoegd gebruikt hij dus altijd de rc.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment

Pagina: 1