Si prega di utilizzare la funzione atto e chiamare il proprio FileCallable implementazione se il tuo plugin dovrebbe funzionare per master e slave. Per ulteriori informazioni, consultare documentation, chapter "Using FilePath smartly" o questo stackoverflow answer.
Esempio di codice (source):
void someMethod(FilePath file) {
// make 'file' a fresh empty directory.
file.act(new Freshen());
}
// if 'file' is on a different node, this FileCallable will
// be transferred to that node and executed there.
private static final class Freshen implements FileCallable<Void> {
private static final long serialVersionUID = 1;
@Override public Void invoke(File f, VirtualChannel channel) {
// f and file represent the same thing
f.deleteContents();
f.mkdirs();
return null;
}
}
fonte
2013-11-06 13:32:11
@Downvoter Non capisco il motivo per cui alcune persone appena -1 senza dire perché. Penso che dovremmo dire al ragazzo/ragazza di postare del codice, chiedere cosa hanno provato finora e così via. Fornisci solo un feedback in modo che tutti possiamo imparare qualcosa da questa esperienza. – Morfic
** Domanda: ** perché vuoi un oggetto 'File'? 'FilePath' è in realtà un'API piuttosto espressiva ed è specificamente progettato per gestire le operazioni di file remoto. Se provi ad accedere all'area di lavoro usando 'File' su un agente slave remoto, avrai" un brutto momento ". –