View Full Version : [Java] Creare un exe da codice java senza main
Di solito per creare un exe uso axe4j. Ora però mi trovo alle prese con del codice che non ha un main(). In particolare lavoro con Agenti Mobili (Jade) che non hanno un main ma come le applet, per esempio, partono senza main.
Infatti per esempio per lanciare un agente faccio:
java jade.Boot nome:agente
Come faccio a creare l'exe?
io creerei un file bat (se usi winzoz) e poi un exe che non fa altro che aprire il exe. O altrimenti un exe in C che fa partire il comando che hai specificato tu.
io creerei un file bat (se usi winzoz) e poi un exe che non fa altro che aprire il exe. O altrimenti un exe in C che fa partire il comando che hai specificato tu.
Il bat posso evitare che mi apra il prompt dei comandi dos?
Il bat posso evitare che mi apra il prompt dei comandi dos?
io farei così penso che vada
void main()
(aperta grafa)
system("java jade.Boot nome:agente");
(chiusa grafa)
Così dovrebbe andare
Sei sicuro che sia system(String)?
Se compilo mi dice che non trova quel comando.
Sei sicuro che sia system(String)?
Se compilo mi dice che non trova quel comando.
up
Come faccio un exe in C? Per ora ho scritto il file prova.c:
#include <windows.h>
#include <stdio.h>
int main()
{
System("java jade.Boot nome:agente");
}
Come faccio un exe in C? Per ora ho scritto il file prova.c:
#include <windows.h>
#include <stdio.h>
int main()
{
System("java jade.Boot nome:agente");
}Scusa la domanda: perché devi fare un programma "C" per avviare un programma Java? :confused:
(comunque come l'hai scritto è sbagliato)
Scusa la domanda: perché devi fare un programma "C" per avviare un programma Java? :confused:
(comunque come l'hai scritto è sbagliato)
Perché come scritto nel 1° post:
Di solito per creare un exe uso axe4j. Ora però mi trovo alle prese con del codice che non ha un main(). In particolare lavoro con Agenti Mobili (Jade) che non hanno un main. Per lanciarlo da prompt scrivo: "java jade.Boot nome:agente".
Quindi giova22 mi ha consigliato di fare un exe in C che lancia la stringa "java jade.Boot nome:agente".
PS Cmq Cosa sbaglio?
Perché come scritto nel 1° post:
Di solito per creare un exe uso axe4j. Ora però mi trovo alle prese con del codice che non ha un main(). In particolare lavoro con Agenti Mobili (Jade) che non hanno un main. Per lanciarlo da prompt scrivo: "java jade.Boot nome:agente".Ok ... ma allora non ti basta mettere un file .bat o meglio un collegamento (es. sul desktop) che lancia:
javaw jade.Boot nome:agente
???
PS Cmq Cosa sbaglio?Dovrebbe essere:
#include <stdlib.h>
int main(void)
{
system("java jade.Boot nome:agente");
return 0;
}
Ok ... ma allora non ti basta mettere un file .bat o meglio un collegamento (es. sul desktop) che lancia:
javaw jade.Boot nome:agente
???
Ok però così mi parte anche la shell del dos di windows. Io vorrei che non si vedesse. L'applicazione ha una sua interfaccia e vorrei che si vedesse solo quella!
PS Perché javaw e non java?
Ok però così mi parte anche la shell del dos di windows. Io vorrei che non si vedesse. L'applicazione ha una sua interfaccia e vorrei che si vedesse solo quella!Il programmino "C" che ho indicato è per una applicazione "console". Quindi la console ce l'hai comunque in mezzo ai piedi anche se lanci javaw. Dovresti fare una applicazione Win32 di tipo "GUI" (non console, per intenderci) e allora non avresti problemi.
PS Perché javaw e non java?javaw non apre la console. Quindi se metti un collegamento sul desktop che lancia javaw ... allora non hai la console in mezzo ai piedi. ;)
Il programmino "C" che ho indicato è per una applicazione "console". Quindi la console ce l'hai comunque in mezzo ai piedi anche se lanci javaw. Dovresti fare una applicazione Win32 di tipo "GUI" (non console, per intenderci) e allora non avresti problemi.
Scusa l'ignoranza ;), potresti spiegarti meglio? come faccio a fare un'applicazione GUI? la mia è già un JFrame (praticamente).
Scusa l'ignoranza ;), potresti spiegarti meglio? come faccio a fare un'applicazione GUI? la mia è già un JFrame (praticamente).Qui stiamo parlando della applicazione "C". Vuoi fare una applicazione "C" per Windows che sia in grado di avviare Java senza dover avere una console in mezzo ai piedi??? Ecco:
#define STRICT
#include <windows.h>
INT APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevious, LPSTR lpszCmdLine, INT iCmdShow)
{
ShellExecute (NULL, "open", "javaw", "jade.Boot nome:agente", NULL, SW_SHOWNORMAL);
return 0;
}
Ok creo questo file, lo compilo e poi come posso fare l'exe dal file c (se è possibile)?
Ok creo questo file, lo compilo e poi come posso fare l'exe dal file c (se è possibile)?Dovresti specificare quale compilatore/ambiente di sviluppo usi. ;)
Dovresti specificare quale compilatore/ambiente di sviluppo usi. ;)
Non mastico molto C. Uso Windows Xp, come IDE CodeBlocks e compilatore gcc.
come IDE CodeBlocks e compilatore gcc.Code::Blocks non lo conosco, non so cosa possa fare o meno. Dovresti vedere un po' tu se ti permette di creare un nuovo progetto Win32 non di tipo console. Di più non saprei dire. :(
Code::Blocks non lo conosco, non so cosa possa fare o meno. Dovresti vedere un po' tu se ti permette di creare un nuovo progetto Win32 non di tipo console. Di più non saprei dire. :(
Altrimenti consigliami tu un ide free che lo faccia.. se esiste!
Altrimenti consigliami tu un ide free che lo faccia.. se esiste!Microsoft Visual C++ 2005 Express. Però devi installare anche il Platform SDK e fare qualche modifica ai file di configurazione del VC++.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.