java - world - my first maven project in eclipse



Copia automaticamente file e librerie predefiniti con java, eclipse e ant (1)

Hai menzionato i file jar e sono in realtà delle dipendenze . Potresti dare un'occhiata ad un sistema di gestione delle dipendenze come Ivy o passare a Maven, se davvero non vuoi includere quei file jar nel tuo repository.

E in alternativa, si è sempre in grado di copiare le dipendenze con gli "script" di Ant (anche se sono XML, non proprio "script").

Come posso ottenere eclissi per salvare i file di classe costruiti in un percorso esterno (ho un disco mappato, o potrebbe anche essere su ssh / sftp / qualunque)?

È difficile pensare a un modo per risolvere "come salvarli in un luogo esterno". Tuttavia, è possibile scrivere un target, usando l'attività <scp> (basata su ssh) o <ftp> , per copiare i file dopo aver eseguito l'edificio standard.

Idealmente vorrei fare in modo che eclipse copi automaticamente le classi e le librerie costruite in un'altra directory.

Eclipse ha il supporto integrato per Ant. Non uso Eclipse, ma utilizzo Netbeans. In Netbeans, un progetto viene effettivamente creato con il file di build Ant generato da Netbeans. Inoltre, puoi personalizzare il file di costruzione, aggiungere i tuoi obiettivi e, quindi, puoi eseguire il tuo obiettivo all'interno dell'IDE.

Ad esempio, hai un obiettivo di build , un obiettivo di deploy , un obiettivo di run . Il primo è generato da Eclipse e non è necessario preoccuparsene, mentre gli ultimi due sono scritti da te. Basta scrivere un altro bersaglio, dire all , e usare <antcall> per eseguire i tre obiettivi sopra uno dopo l'altro. E poi, in Eclipse, puoi eseguire direttamente all target per ottenere tutte le cose gestite da Ant.

ancor più idealmente ottenerlo per eseguire / uccidere il programma automaticamente quando clicco su "Esegui", anche se ho il sospetto che potrebbe essere un po 'troppo ottimista.

Il computer di destinazione è una macchina Linux, quindi è possibile installare facilmente il server SSH con apt-get su di esso. Scrivi due obiettivi nel tuo file di build ant, uno viene run e l'altro è kill .

All'interno della destinazione della run , puoi utilizzare <sshexec> per eseguire la tua app. L'unica cosa che devi fare attenzione è che i varibles dell'ambiente definiti su quella macchina potrebbero non essere disponibili nella sessione ssh. Ma questo è solo un problema di configurazione. Almeno puoi mettere le varibles in /etc/environment , anche se questa non è la migliore pratica.

Il kill target potrebbe essere un po 'più complicato. Tuttavia, secondo me, se puoi scrivere un startup.sh per avviare un'app, puoi sempre scrivere un stop.sh per chiuderlo (dai un'occhiata a catalina.sh di Tomcat).

Inoltre, il kill target può essere chiamato all'interno di Eclipse.

Sto usando java con eclipse su Windows 7 e sto provando a creare un programma server che girerà su un'altra macchina (ubuntu) sulla mia rete.

Come posso ottenere eclissi per salvare i file di classe costruiti in un percorso esterno (ho un disco mappato, o potrebbe anche essere su ssh / sftp / qualunque)?

Ho creato un repository git su quella macchina, quindi i file di classe vengono salvati lì, tuttavia le librerie esterne che sto usando (che sono sul percorso di build) non vengono salvate come parte del repository. Idealmente vorrei fare in modo che eclissi copiasse automaticamente le classi e le librerie costruite in un'altra directory (e ancor più idealmente ottenga l'esecuzione / uccisione del programma automaticamente quando faccio clic su "Esegui", anche se sospetto che potrebbe essere un po 'troppo ottimista).

Penso che un sistema che credo sia installato con Eclipse possa farlo, ma non sono sicuro di come farlo accadere.





build-automation