2009-06-02 23 views
5

Come si imposta l'ordine del percorso di classe nella formica?Percorso classe ant Ordine

In particolare, quando sto cercando di eseguire la mia build di formica, ho bisogno che riprenda una classe in un jar (jaxws-api.jar) invece della stessa classe che si trova nel jre. Attualmente sto impostando il classpath per includere esplicitamente quei jar, tuttavia sembra che riprenda ancora il jre per primo. Quello che sto cercando è un qualche tipo di equivalente a Order/Export in eclipse sotto il menu "Build Configuration".

Modifica: Sarò più esplicito. Ho alcune classi che sono state generate con CXF 2.1.3. Chiamano javax.xml.ws.Service # getPort (QName, Class, WebServiceFeature ...). Sto usando la versione 1.6.02 di Java. Questo metodo non esiste in quella classe in quella versione. Tuttavia, esiste nella versione jaxws della classe (e nelle versioni successive della classe JRE). Quando provo a creare una formica, la classe JRE viene sempre rilevata prima della versione di jaxws. Ciò rende la mia compilazione fallita. Come posso modificare il mio classpath per mettere l'ultimo JRE?

Non riesco a modificare la versione di JRE, quindi si consiglia di non suggerire tale correzione a meno che non sia l'unica possibile.

risposta

7

Sembra che sia necessario utilizzare l'impostazione bootclasspath nell'attività Javac o Java Ant.

È sempre possibile eseguire ant -v per ottenere un output dettagliato della build di Ant.

2

I vasi nel percorso classe ant vengono posizionati nell'ordine in cui vengono dichiarati.

1

Ho avuto lo stesso problema con Google web toolkit e un file API servlet 3.0. Avevo bisogno di assicurarmi che il mio jar dell'API servlet fosse prima dei giare della libreria GWT. Qui c'è qualcosa che ha funzionato:

<path id="classpath"> 
     <filelist> 
      <file name="${build.input}/__lib__/servlet-api.jar"/> 
     </filelist> 
     <fileset dir="${build.input}/__lib__"> 
      <include name="*.jar" /> 
     </fileset> 
     <fileset dir="${build.input}/WEB-INF/lib"> 
      <include name="*.jar" /> 
     </fileset> 
    </path> 

Nota il vaso che deve essere prima è elencato primo di una filelist, allora posso aggiungere vasi da altre directory. Ho provato il bootclasspath nella risposta accettata e non ha funzionato.

Problemi correlati