2009-06-02 22 views
5

¿Cómo configuro el orden de ruta de clase en hormiga?Ant classpath Orden

Específicamente, cuando intento ejecutar mi compilación de ant, necesito que tome una clase en un jar (jaxws-api.jar) en lugar de la misma clase que está en el jre. Actualmente estoy configurando el classpath para incluir explícitamente los archivos jar, sin embargo, parece que sigue recogiendo el jre primero. Lo que estoy buscando es algún tipo de equivalente a Order/Export en eclipse en el menú "Build Configuration".

Editar: Seré más explícito. Tengo algunas clases que se generaron con CXF 2.1.3. Llaman a javax.xml.ws.Service # getPort (QName, Class, WebServiceFeature ...). Estoy usando Java versión 1.6.02. Este método no existe en esa clase en esa versión. Sin embargo, existe en la versión jaxws de la clase (y versiones posteriores de la clase JRE). Cuando intento hacer una compilación ant, la clase JRE siempre se recoge primero antes de la versión jaxws. Esto hace que mi compilación falle. ¿Cómo puedo modificar mi classpath para poner el JRE en último lugar?

No puedo cambiar la versión de JRE, por lo tanto, no la sugiera como una solución a menos que sea la única posible.

Respuesta

7

Parece que necesita utilizar la configuración bootclasspath en la tarea Ant Javac o Java.

Siempre puede hacer ant -v para obtener una salida detallada de su compilación Ant.

2

Los tarros en el classpath de hormigas se colocan en el orden en que los declaras.

1

Tuve el mismo problema con Google web toolkit y un archivo de servlet 3.0 API. Necesitaba asegurarme de que mi jar de API de servlet estaba antes de que la biblioteca GWT se voltee. Aquí hay algo que funcionó:

<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 del frasco que necesita ser primero aparece en primer lugar en una lista de archivos, entonces puedo añadir frascos de otros directorios. Intenté el bootclasspath en la respuesta aceptada y no funcionó.

Cuestiones relacionadas