我有一个项目,我需要在其中将一些HTML文件解析为play应用程序的一部分。对于该任务,我认为我将应用nekohtml。我将nekohtml指定为dependencies.yml和isse的“Play 依赖项”中的dep。这会将nekohtml和xerces拉入lib文件夹。一切都很好。但是,nekohtml需要在类路径上的xerces之前才能正常工作。据我在https://github.com/playframework/play/blob/master/framework/pym/play/application.py#L124上看到,按照http://docs.python.org/library/os.html#os.listdir在jarpath上的jar顺序是任意的,是否可以通过某种方式手动设置jar在classpath上的顺序?
编辑:我的dependencies.yml看起来像这样:
require:
- play
- org.apache.poi -> poi 3.7
- net.sourceforge.nekohtml -> nekohtml 1.9.14:
transitive: false
- xerces -> xercesImpl 2.9.1
当我发出命令“Play 类路径”时,它列出了以下内容(摘录):
因此,即使将传递性dep排除在nekohtml之后并手动添加,xerces显然也要领先于nekohtml。
最佳答案
为什么不从nekohtml依赖项中排除xerces,然后按照需要的顺序将其作为单独的依赖项手动添加?
关于classpath - 在Play框架应用中设置类路径顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6512417/