Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [ANT]settare env.PATH

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157

    [ANT]settare env.PATH

    Perdonate se non è la sezione giusta per postare questo quesito, ma ho un target ant che fa dei giri un po' strani.
    In sostanza si lancia un processo java che a sua volta forka un processo native. Il processo native prevede che il path abbia un determinato valore.
    Mi chiedo, è possibile fare una roba simile:

    codice:
    <target name="esegui" ....>
    
    <java .... >
    <env key="PATH" path="${env.PATH}${path.separator}${exe.path.name}" />
    </java>
    </target>
    cioè mettere env dentro il target java.
    So che è possibile farlo dentro exec, è possibile farlo dentro java?

  2. #2

    Re: [ANT]settare env.PATH

    Originariamente inviato da valia
    Perdonate se non è la sezione giusta per postare questo quesito
    A mio avviso lo è

    Originariamente inviato da valia
    In sostanza si lancia un processo java che a sua volta forka un processo native. Il processo native prevede che il path abbia un determinato valore.
    Se ho capito bene lo script ant lancia un processo java (con l'apposito task) e a sua volta, per i fatti suoi, quello istanzia un processo nativo (immagino con Runtime.exec), ed il tuo obiettivo è passare un percorso al processo nativo. Se è corretto allora perchè non passare il percorso su detto come argomento del task java in modo da ritrovarselo poi nel codice della main?

    codice:
    <target name="esegui" ....>
     <java><arg id="PATH" path="${env.PATH}${path.separator}${exe.path.name}"/></java>
    </target>
    oppure è un programma java che non hai la possibilità di modificare e ricompilare?
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    esatto, hai compreso bene.
    Ho un programma java che lancio con il task java che al suo interno con Runtime.exec lancia un processo nativo.

    Il programma java non posso modificarlo, così è e così resta (altrimenti dicevo al programma java di cercarsi lui il path e di settarselo), anche perché sono 2 le cose che setto, PATH e LD_LIBRARY_PATH

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    sai cosa mi viene in mente? può essere stupida, ma è l'unica spiegazione logica.
    Da vari tentativi, se io setto le variabili d'ambiente prima di lanciare lo script ant, tutto va bene. Se lo script ant deve mutarle qualcosa va storto. A questo punto penso, visto che tra le altre cose il task java prevede fork=true e spawn=true, non è che il nuovo processo (quello forkato) è come se eseguisse su una shell nuova (quindi non ha le proprietà settate runtime della vecchia shell)?

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Allora svelato l'arcano: il path viene letto correttamente anche dal task exec (quindi non succede niente di strano).
    L'aver messo spawn a true non mi faceva vedere l'output del programma java, ergo non avevo modo di vedere una eccezione che si generava prima per cambio classpath (voluto da me ovviamente).
    Risistemando il classpath è ok :-) e devo dire che mi è costata un po' di fatica (specie perché fino a ieri mattina quello script ant non lo avevo mai visto)

  6. #6
    Originariamente inviato da valia
    Allora svelato l'arcano: il path viene letto correttamente anche dal task exec (quindi non succede niente di strano).
    L'aver messo spawn a true non mi faceva vedere l'output del programma java, ergo non avevo modo di vedere una eccezione che si generava prima per cambio classpath (voluto da me ovviamente).
    Risistemando il classpath è ok :-) e devo dire che mi è costata un po' di fatica (specie perché fino a ieri mattina quello script ant non lo avevo mai visto)
    Capisco! L'importante è aver trovato la soluzione, tieni anche presente che maggiormente fatichi a trovarla più si radicherà nel tuo bagaglio di esperienza per il futuro
    Il centro dell'attenzione non è sempre un buon posto in cui trovarsi

    Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    Originariamente inviato da unomichisiada
    Capisco! L'importante è aver trovato la soluzione, tieni anche presente che maggiormente fatichi a trovarla più si radicherà nel tuo bagaglio di esperienza per il futuro
    ovvio, la prima cosa che andrò a vedere in futuro è il valore di spawn ahahahhaha

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.