2011-06-28 13 views
6

Tengo un proyecto en el que necesito analizar algunos archivos HTML como parte de una aplicación de reproducción. Para esa tarea, pensé en aplicar nekohtml. Especifico nekohtml como dep en dependencies.yml y isse 'play dependencies'. Esto extrae nekohtml y xerces en la carpeta lib. Todo bien y bien Sin embargo, nekohtml debe estar antes de xerces en el classpath para funcionar correctamente. Y por lo que puedo ver en https://github.com/playframework/play/blob/master/framework/pym/play/application.py#L124, el orden de los jar en el classpath es arbitrario según http://docs.python.org/library/os.html#os.listdir ¿Es posible establecer manualmente el orden de jar en classpath de alguna manera?Configuración del orden de classpath en la aplicación playframework

Editar: Mi dependencies.yml se ve así:

require: 
    - play 
    - org.apache.poi -> poi 3.7 
    - net.sourceforge.nekohtml -> nekohtml 1.9.14: 
     transitive: false 
    - xerces -> xercesImpl 2.9.1 

Cuando emita el comando 'juego ruta de clases' que enumera los siguientes (extracto):

[ '/ home/Leif/dev/java/fun/tk/conf ', ' /home/leif/dev/play/play-1.2/framework/play-1.2.jar ', '/home/leif/dev/java/fun/tk /lib/jaxen-1.1.jar ', ' /home/leif/dev/java/fun/tk/lib/log4j-1.2.15.jar ', '/home/leif/dev/java/fun/tk /lib/junit-4.8.1 .jar ', ' /home/leif/dev/java/fun/tk/lib/jta-1.1.jar ', ' /home/leif/dev/java/fun/tk/lib/dom4j-1.6.1 .jar ', ' /home/leif/dev/java/fun/tk/lib/xercesImpl-2.9.1.jar ', '/home/leif/dev/java/fun/tk/lib/commons-collections -3.2.1.jar ', ' /home/leif/dev/java/fun/tk/lib/xml-resolver-1.2.jar ', '/home/leif/dev/java/fun/tk/lib /xml-apis-1.3.04.jar ', ' /home/leif/dev/java/fun/tk/lib/antlr-2.7.6.jar ', '/home/leif/dev/java/fun /tk/lib/poi-3.7.jar ', ' /home/leif/dev/java/fun/tk/lib/commons-logging-1.1.1.jar ', '/home/leif/dev/java /fun/tk/lib/nekohtml-1.9.14.jar ', ' /home/leif/dev/play/play-1.2/framework/lib/jj-textile.jar ', ...

Así xerces es claramente por delante de nekohtml a pesar de que el dep transitivo se excluye y se agrega manualmente después de nekohtml.

+0

Tengo un problema similar. ¿Alguien puede señalar cómo especificar manualmente el orden de compilación para dos jar en/lib? – Wint

Respuesta

0

¿Por qué no excluye xerces de la dependencia nekohtml y luego lo agrega manualmente en el orden que necesita como una dependencia independiente?

+0

Pregunta editada para aclarar. –

Cuestiones relacionadas