2014-07-18 9 views
8

Ho uno spazio di lavoro di eclissi (per lavoro) che ha un progetto ear che uso per "esportare"/distribuire un file ear a un JBoss server.cos'è org.eclipse.wst.common.component e come usarlo per ant

Tuttavia, recentemente mi hanno chiesto di creare uno script ant che può creare lo spazio di lavoro e creare l'orecchio, e l'ho fatto con successo. Il problema sorge quando provo a eseguire il mio programma con questo orecchio che è stato creato usando lo script ant; per l'implementazione sto semplicemente copiando il file ear risultante e incollandolo nella cartella JBoss/standalone/deployments ed eseguendo l'applicazione.

JBoss AS si avvia bene, ma poi ho alcune eccezioni che fermano la mia applicazione che non ottengo quando faccio una compilazione e la distribuisco attraverso eclipse. I due file ear sono identici quando si visualizzano i due file ear utilizzando 7zip, tuttavia vedo nell'area di lavoro di Eclipse, nel progetto ear, c'è una cartella .settings che contiene 4 file, uno dei quali è org.eclipse.wst.common. componente e sto indovinando questo (se non tutti i 4 file) è necessario quando si distribuisce in qualche modo.

eclise utilizza questa cartella .settings e i file all'interno quando si distribuisce un orecchio? Cosa succede durante questo processo? e come posso replicarlo in uno script ant, in modo che la mia applicazione venga eseguita in modo identico dalle formazioni di ant o eclipse?

EDIT

Vorrei solo aggiungere che nessuno dei file nelle cartelle .settings ottenere confezionato nel file ear, quindi sto cercando di indovinare che stanno in qualche modo utilizzate quando un'eclissi fa un accumulo/deploy, ma non ottiene inserito nel prodotto finale orecchio

ringraziamento

+1

La cartella .settings in un progetto memorizza le preferenze per vari plugin (sempre chiamati plugin-id.prefs) –

risposta

15

Eclipse utilizza i dati in org.eclipse.wst.common.component di capire le dipendenze necessarie per la distribuzione. Il file corrisponde alle impostazioni trovate in Eclipse quando Right-clicking on an EAR project > Properties > Deployment Assembly.

E.g. se il progetto EAR ha una dipendenza da un progetto WAR poi Eclipse conosce per includere la guerra, quando la distribuzione a causa delle impostazioni Assemblea Deployment che vengono memorizzati in org.eclipse.wst.common.component

Quando si costruisce l'EAR utilizzando Ant è necessario aggiungere queste dipendenze manualmente (senza fare affidamento sui metadati Eclipse)

+0

grazie per la risposta, come posso aggiungere manualmente le dipendenze? usando Apache Ivy? –

+0

Non hai ** bisogno di ** Ivy. Probabilmente potresti usare [EAR task] (https://ant.apache.org/manual/Tasks/ear.html) e assicurarti che tutti i JAR e WAR necessari siano inclusi nell'archivio EAR. Per una gestione delle dipendenze più avanzata potresti usare Ant + Ivy, ma in generale la mia raccomandazione personale sarebbe quella di usare qualcosa come Gradle. –