Utility di packaging Intel AppUp® per Java*: soluzione alternativa per supportare i parametri JVM:
Il parametro JVM attualmente impostato non è supportato dall'Utility di packaging Intel AppUp® per Java*. Al momento l'unico parametro JVM supportato è “–D” (proprietà del sistema). Se si desidera inviare un'applicazione Java* al centro Intel AppUp® che richiede il supporto per i parametri JVM, qui di seguito è indicata una soluzione alternativa. Creare un'applicazione Java* avviando il wrapper (è un file Jar, da usare come Jar principale nell'Utility di packaging Intel AppUp® per Java*, e creare un pacchetto con il file Jar del gioco come file Jar aggiuntivo). Dopo che il client Intel AppUp® avvia il wrapper di avvio dell'applicazione Java*, il wrapper creerà un nuovo processo Java* (il percorso JRE può essere richiamato dalla proprietà di sistema java.home) con il proprio parametro JVM speciale per avviare il file Jar del gioco.
Qui di seguito è indicato un semplice riferimento per il wrapper di avvio:
import java.io.IOException;
public class adpLauncher {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
// get java.exe
String javacmd = System.getProperty("java.home") + "\\bin\\java.exe";
// get the path
String path = java.net.URLDecoder.decode(adpLauncher.class.getProtectionDomain().getCodeSource().getLocation().getPath(), "utf-8");
path = path.substring(1, path.lastIndexOf("/"));
// the cmd array. Let’s say your application requires “-Xmx512m” to be passed as JVM parameter to increase the Java heap size.
String[] cmdArray = {
javacmd,
"-Xmx512m",
"-jar",
path + "/adpLauncher_lib/YYYY.jar"
// Note: it is require to replace YYYY.jar with the name of the java application's real runnable jar (e.g. the game jar file)
};
// create the process
Runtime.getRuntime().exec(cmdArray);
}
}
Precondizioni:
a) Eseguire la verifica seguente per accertare che la propria applicazione Java* funzioni.
Inserire in UNA cartella tutti i file Jar, incluso il file Jar principale del gioco (contenente tutto il codice), che supportano dipendenze come altri file Jar e DLL (il file appup_sdk_java_v1.1 deve naturalmente essere incluso). A questo punto è possibile avviare ed eseguire l'applicazione Java*.
b) Se l'applicazione dispone di un file manifesto che imposta CLASSPATH, cambiare CLASSPATH in modo che le dipendenze dell'applicazione siano tratte dalla stessa directory.
1. Un modo semplice per farlo è aprire il file jar con WinZip*.
2. In WinZip* aprire META-INF/MANIFEST.MF con Blocco note*.
3. Sostituire il contenuto di MANIFEST.MF impostando CLASSPATH in modo che richiami le dipendenze dalla cartella corrente.
4. Presumiamo che il file manifesto si presenti come indicato di seguito (dove ad esempio depends1.jar, depends2.jar, depends3.jar sono le dipendenze della propria applicazione Java*):
Class-Path: ./lib/depends1.jar ./lib/depends2.jar ./lib/depends3.jar
Cambiare CLASSPATH come mostrato nell'esempio qui sotto cosicché le dipendenze siano tratte dalla directory corrente:
Class-Path: ./depends1.jar ./depends2.jar ./depends3.jar
5. Accertarsi di salvare MANIFEST.MF e chiudere Blocco note* e WinZip*. Sarà visualizzata la finestra di dialogo seguente.
6. Fare clic su “Sì” per aggiornare MANIFEST.MF nel file Jar.
Eseguire il packaging dei file Jar:
a) Avviare l'Utility di packaging Intel AppUp® per Java*
b) Selezionare come file Jar principale il file adpLauncher.jar visto in precedenza.
c) Aggiungere l'altro file jar come i Jar di terze parti.
d) Creare il file jar finale compilabile con il client Intel AppUp usando l'Utility di packaging Intel AppUp per Java*.
