[Java] Java progje draaien buiten IDE

Pagina: 1
Acties:

  • Deddiekoel
  • Registratie: Maart 2000
  • Laatst online: 12-11-2025

Deddiekoel

Gadget nerd

Topicstarter
Ik heb een vreselijke N00b vraag. Ik heb al rond gezocht maar ik denk dat hetgeen ik vraag TE simpel is om door mensen gevraagd te worden.

Ik ben na lange tijd weer eens met Java aan de gang gegaan. Deze keer is het voor mijn werk. Ik heb voor een functie een GUI gemaakt waarmee ik de gemaakte klasse kan testen. Nu werkt deze GUI best aardig en ik gebruik hem stiekem vaker dan ik had verwacht. Maarrr...ik kan hem voorlopig nog alleen maar bekijken vanuit de IDE waarin ik werk (NetBeans 3.6 in mijn geval).

Hoe kan ik de main-class nu buiten de IDE laten draaien? Een .exe zou helemaal geweldig zijn maar ik denk niet dat NetBeans het compilen van iets dergelijks onersteunt.

Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 25-05 16:59

Robtimus

me Robtimus no like you

Ga eens op zoek naar JAR, en het commando "java(w) -jar".

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Deddiekoel
  • Registratie: Maart 2000
  • Laatst online: 12-11-2025

Deddiekoel

Gadget nerd

Topicstarter
Ik dacht dat JAR bestanden archive bestanden waren. Ik meen me te herinneren dat je vanaf de commandline iets moet kunnen draaien. Ik heb alleen geen idee meer hoe dat werkt...

Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2


  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 25-05 17:33
Je kunt toch gewoon aanroepen in console: java hierDeMainClass
en compileren met javac hierDeMainClass.java

Moet je wel even het pad goed instellen anders je OS, windows?, de java executable niet vinden.

Verwijderd

Compilen (puntje duidt op huidige directory, kan ook andere directory zijn, het is je classpath, de directory waar al je classes te vinden zouden moeten zijn)

code:
1
javac -c . yourApp.java


Runnen (ook hier stelt het puntje de huidige directory voor, verander naar eigen wens)

code:
1
java -classpath . yourApp


Ik dacht dat het zo was, zit weer even ver... om die classpath niet telkens te hoeve instellen moet je de omgevingsvariabele eens even goed instellen.

[ Voor 3% gewijzigd door Verwijderd op 04-05-2004 16:24 ]


  • Robtimus
  • Registratie: November 2002
  • Laatst online: 25-05 16:59

Robtimus

me Robtimus no like you

Deddiekoel schreef op 04 mei 2004 @ 16:13:
Ik dacht dat JAR bestanden archive bestanden waren. Ik meen me te herinneren dat je vanaf de commandline iets moet kunnen draaien. Ik heb alleen geen idee meer hoe dat werkt...
JARs zijn ook archive bestanden, maar als je ze creeert met een Manifest file waarin je een main class zet kun je het ook als een soort exe gebruiken.

Maar je kunt natuurlijk ook java zonder -jar gebruiken, zoals al eerder werd gezegd.

More than meets the eye
There is no I in TEAM... but there is ME
system specs


  • Deddiekoel
  • Registratie: Maart 2000
  • Laatst online: 12-11-2025

Deddiekoel

Gadget nerd

Topicstarter
Ok! Hartelijk dank. Ik vrees alleen nu dat ik mijn classpath eens goed moet achterhalen. Kan ik die uit NetBeans halen?

Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2


  • andrew
  • Registratie: Februari 2001
  • Laatst online: 10-09-2024
Deddiekoel schreef op 04 mei 2004 @ 20:43:
Ok! Hartelijk dank. Ik vrees alleen nu dat ik mijn classpath eens goed moet achterhalen. Kan ik die uit NetBeans halen?
Het classpath (of is het "de classpath"? :P) is gewoon de directory waar je programma in staat.

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

Alarmnummer

-= Tja =-

[algemeen geblaat]

Mijn advies is dat je het build script voor java: ANT ook onder de knie gaat krijgen. Je krijgt dan een stuk beter inzicht hoe het build proces verloopt en je kunt ook hele gecompliceerde zaken bij het builden laten plaats vinden, parser genereren, junit tests uitvoeren, compileren, jars maken, signen, webstart bestanden genereren, websites genereren, .... , en de applicatie opstarten.

[/algemeen geblaat]

Ik ben een redelijke java aap, maar op het moment dat het op deployment voor clientapplicaties aankomt, kom je behoorlijk in de kouwe kleren te staan. Ik wil als eindgebruiker gewoon een exe of een bat (eventueel.. liefst een exe) en daar gewoon op dubbelklikken. Als ik een jar zie staan dan weet ik niet dat ik daarop kan klikken, en ga dan gillen..hoe moet ik het opstarten?? Er zijn een aantal exe-opstarters te vinden die eigelijk niets meer doen dan de vm met een handje vol argumenten aan roepen. Technisch gezien lastig?? nee.. zeker niet.. maar je applicatie lijkt wel een stuk serieuzer.

  • Deddiekoel
  • Registratie: Maart 2000
  • Laatst online: 12-11-2025

Deddiekoel

Gadget nerd

Topicstarter
Dat klinkt goed. Want een .exe (echt of niet) is idd wat ik wil. Kun je me de goede richting op wijzen? Ook voor een introductie in ANT. Want de naam herken ik nog net wel maar daar houd het mee op.

Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2


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

Alarmnummer

-= Tja =-

Deddiekoel schreef op 05 mei 2004 @ 09:25:
Dat klinkt goed. Want een .exe (echt of niet) is idd wat ik wil. Kun je me de goede richting op wijzen? Ook voor een introductie in ANT. Want de naam herken ik nog net wel maar daar houd het mee op.
http://ant.apache.org/
en verder voor een exe wrapper moet je kijken naar jsmooth of exe4j (kopen) bv. Zoek anders ff op got naar +exe +wrapper +java

  • Deddiekoel
  • Registratie: Maart 2000
  • Laatst online: 12-11-2025

Deddiekoel

Gadget nerd

Topicstarter
Alarmnummer schreef op 05 mei 2004 @ 09:42:
[...]


http://ant.apache.org/
en verder voor een exe wrapper moet je kijken naar jsmooth of exe4j (kopen) bv. Zoek anders ff op got naar +exe +wrapper +java
Hmmm, ik dacht dat ANT een onderdeel van NetBeans was. Ik vrees dan ook dat het voor mij allemaal te complex wordt. Ik ben allang blij dat ik met de NetBeans IDE uit de voeten kan en daarmee stukje bij beetje aan het leren ben. Ik zou ook nog graag mijn applicatie standalone draaien zodat ik niet voor elke test NetBeans hoef aan te zwengelen.

Eerst die classpath in orde maken en dan die wrapper proberen.

Verlanglijstje: Switch 2, PS5 Pro Most wanted: Switch 2


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

Alarmnummer

-= Tja =-

Deddiekoel schreef op 05 mei 2004 @ 10:07:
[...]
Hmmm, ik dacht dat ANT een onderdeel van NetBeans was. Ik vrees dan ook dat het voor mij allemaal te complex wordt. Ik ben allang blij dat ik met de NetBeans IDE uit de voeten kan en daarmee stukje bij beetje aan het leren ben. Ik zou ook nog graag mijn applicatie standalone draaien zodat ik niet voor elke test NetBeans hoef aan te zwengelen.
Het is geen onderdeel van NetBeans gelukkig :) En ik zou ook eens kijken naar Codeguide of IntelliJ. Ik hou persoonlijk van hele geavanceerde klopomgevingen en heb een broertje dood aan sleur en pleur omgevingen, en daarom zijn Codeguide en IntelliJ de ide`s die ik gebruik.

voorbeeld ANT file.
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<!-- Build file for ANT -->

<project name="Appender" default="dist" basedir=".">

    <!-- set global properties for this build -->
    <property name="src"                value="src"/>
    <property name="src.appender"       value="${src}/appender"/>
    
    <property name="jsr14.home"         value="c:/adding_generics-2_0-ea"/>
    <property name="build.compiler"     value="com.cortexeb.Jsr14CompilerAdapter"/>
        
    <property name="lib"                value="lib"/>
    <property name="build"              value="build"/>
    <property name="docs"               value="docs"/>
    <property name="classes"            value="${build}/classes"/>
    <property name="dist"               value="${build}/lib"/>
    <property name="junit-reports"      value="junit-reports"/>
    <property name="workingDir"         value="workingDir"/>
    
    
    <target name="clean" description="verwijder alle niet noodzakelijke bestanden">
        <delete dir="${classes}"/>
        <delete dir="${dist}"/>
        <delete dir="${doc}"/>
            
        <!-- remove all the created logfiles -->
        <delete>
            <fileset dir="${workingDir}" excludes="log4j.properties"/>
        </delete>
    </target>

    
    <target name="init" description="maak alle nodige directories aan">
        <tstamp/>
        
        <mkdir dir="${classes}"/>       
        <mkdir dir="${dist}"/>
    </target>

    
    <target name="compile" depends="init">
        <javac debug="on" srcdir="${src.appender}" destdir="${classes}" source="1.5">
            <classpath>
                <fileset dir="${lib}">
                    <include name="**/*.jar"/>
                </fileset>
            </classpath>
        </javac>
    </target>
    
    
    <target name="dist" depends="compile">                      
        <jar jarfile="${dist}/Appender.jar" basedir="${classes}"/>      
    </target>
    
    
    <target name="javadocs" depends="compile">
        <mkdir dir="${docs}"/>          
        
        <javadoc    author="true"
                    destdir="${docs}"
                    packagenames="org.jph.log4j.*"
                    sourcepath="${src.appender}"
                    use="true"
                    version="true"
                    windowtitle="Appender"
                    private="false">
            <!--classpath refid="compile.classpath"/ -->
        </javadoc>
    </target>
    
    <target name="run" depends="compile">
        
        <java fork="true" classname="org.jph.log4j.Main" dir="${workingDir}">
            <classpath>
                <pathelement path="${classes}"/>
                <fileset dir="${lib}">
                    <include name="**/*.jar"/>
                </fileset>
            </classpath>

            <jvmarg value="-ea"/>           
        </java>
    </target>
    
</project>

[ Voor 22% gewijzigd door Alarmnummer op 05-05-2004 10:16 ]

Pagina: 1