PDA

View Full Version : [java] argomenti alla VM da jar


*andre*
17-06-2009, 00:18
ciao ragazzi!!!

ho un ultimo (spero) problema..
per il mio progetto ho bisogno di aumentare la memoria dedicata alla VM, benissimo, da eclipse creo una nuova configurazione e negli argomenti della VM ci metto -Xmx512m..

ora che dovrei esportare il progetto in un jar come faccio a impostare tale variabile?

infatti facendolo normalmente (export->jar) il programma mi si pianta quando raggiunge i 94mb di ram..

grazie :D

PGI-Bis
17-06-2009, 15:00
Devi usare la linea di comando - direttamente o con uno script. Tieni conto che javaw è solo per windows.

Altrimenti puoi usare un file jnlp ma devi firmare il jar se fa operazioni pericolose.

*andre*
17-06-2009, 17:41
mmm, grazie innanzitutto,

che differenza c'è tra script e jnlp?:)

*andre*
17-06-2009, 17:51
ok ho visto un pò i jnpl, molto interessanti, ma visto che non ho molto tempo.. mi potresti fare un esempio di come usarlo?

cioè creo l'xml, dove metto nel tag giusto gli argomenti della vm, ma poi come lego l'xml al mio jar?

*andre*
20-06-2009, 17:03
upp :rolleyes:

PGI-Bis
20-06-2009, 18:09
Dopo attenta meditazione (ok, m'ero perso il Thread) consiglio lo script. Il file jnlp è una gran bella cosa e funziona ma richiede un po' di trucconi per funzionare in locale.

A differenza dello script va a installare il programma nel pannello delle applicazioni Java (che è parte del JRE) ed è indipendente dalla piattaforma.

Sfortunatamente richiede la firma del jar e, nel caso in cui si usi da locale, la generazione dinamica dell'attributo codebase. Nulla di insormontabile e da un tot di benefici ma è un po' esotico come approccio. Comunque questo è un jnlp d'esempio:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="6.0+" codebase="file:///x:/bootstrapjws/app/" href="starter.jnlp">
<information>
<title>BootstrapMain</title>
<vendor>PGI</vendor>
<description>test</description>
<offline-allowed/>
</information>
<resources>
<j2se version="1.6+" java-vm-args="-Xmx128m -Xms128m"/>
<jar href="./lib/bs.jar"/>
</resources>
<application-desc main-class="it.tukano.bootstrapjws.BootstrapMain"/>
</jnlp>

Le opzioni per la jvm si mettono nel nodo j2se, i jar nei nodi jar e la classe principale in application-desc.

*andre*
21-06-2009, 18:13
Dopo attenta meditazione (ok, m'ero perso il Thread) consiglio lo script. Il file jnlp è una gran bella cosa e funziona ma richiede un po' di trucconi per funzionare in locale.

A differenza dello script va a installare il programma nel pannello delle applicazioni Java (che è parte del JRE) ed è indipendente dalla piattaforma.

Sfortunatamente richiede la firma del jar e, nel caso in cui si usi da locale, la generazione dinamica dell'attributo codebase. Nulla di insormontabile e da un tot di benefici ma è un po' esotico come approccio. Comunque questo è un jnlp d'esempio:

<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="6.0+" codebase="file:///x:/bootstrapjws/app/" href="starter.jnlp">
<information>
<title>BootstrapMain</title>
<vendor>PGI</vendor>
<description>test</description>
<offline-allowed/>
</information>
<resources>
<j2se version="1.6+" java-vm-args="-Xmx128m -Xms128m"/>
<jar href="./lib/bs.jar"/>
</resources>
<application-desc main-class="it.tukano.bootstrapjws.BootstrapMain"/>
</jnlp>

Le opzioni per la jvm si mettono nel nodo j2se, i jar nei nodi jar e la classe principale in application-desc.

grazie delle dritte :D

direi che è meglio lo script visto che lo dovrei consegnare molto presto (:( )

come lo dovrei fare? :)

PGI-Bis
21-06-2009, 18:17
crei un file bat in cui scrivi:

java -Xmx512m -jar Pippo.jar

lo metti nella cartella del jar e hai fatto. Quando vuoi lanciare il programma fai doppio click sul bat.

*andre*
23-06-2009, 13:32
grazie mille per l'aiuto :D :D

poi forse dovrei chiedere qualcosa sui suoni o sulla gestione della trasparenza delle immagini, ma aprirò un altro 3D, thanks! :p