grails - 带有Grails的Geoscript工具使SAX发生冲突

标签 grails groovy

我有一个Geoscript库,可以读取上载的shapefile,然后将其转换为WKT。当我将库上传到lib目录时,此方法有效,但是当我从Maven中将其拉入库时,会出现sax冲突。有人知道解决方案吗?

这是错误

|错误执行脚本时出错错误清除:违反了加载器约束:在解决重写的方法“org.apache.tools.ant.helper.ProjectHelper2 $ RootHandler.setDocumentLocator(Lorg / xml / sax / Locator;)V”时,类加载器(org /当前类org / apache / tools / ant / helper / ProjectHelper2 $ RootHandler的当前类的codehaus / groovy / grails / cli / support / GrailsRootLoader)及其父类(super class)加载器(实例为),其类型为andler.setDocumentLocator的Class对象不同。 (Lorg / xml / sax / Locator;)签名中使用的V(注意:堆栈跟踪已被过滤。使用--verbose查看整个跟踪。)

最佳答案

这是由Grails错误(即GRAILS-9331)体现的。您应该能够排除有问题的库,但是Grails忽略了这一点。 Grails修复程序(尚不可用)实际上并未解决此问题,它仅在加载类时忽略org.xml。这是一个间接修复,似乎仍然会错误加载xml-apis库。理想的解决方案是:

       compile ('org.geoscript:geoscript-groovy:1.0-SNAPSHOT') {
           excludes "xml-apis","xml-apis-ext","xercesImpl","xalan"
       }

Grails错误阻止了此工作。
我将排除列表和依赖项加载到Gradle中,并生成了1.0-SNAPSHOT的依赖项列表。此白名单可以代替“org.geoscript:geoscript-groovy:1.0-SNAPSHOT”
        compile("bouncycastle:bcmail-jdk14:138",
            "bouncycastle:bcprov-jdk14:138",
            "bouncycastle:bctsp-jdk14:138",
            "com.googlecode.json-simple:json-simple:1.1",
            "com.h2database:h2:1.1.119",
            "com.lowagie:itext:2.1.7",
            "com.miglayout:miglayout:3.7",
            "com.vividsolutions:jts:1.12",
            "commons-collections:commons-collections:3.2.1",
            "commons-dbcp:commons-dbcp:1.3",
            "commons-io:commons-io:2.0.1",
            "commons-jxpath:commons-jxpath:1.3",
            "commons-logging:commons-logging:1.1.1",
            "commons-pool:commons-pool:1.5.4",
            "hsqldb:hsqldb:1.8.0.10",
            "it.geosolutions.imageio-ext:imageio-ext-tiff:1.1.5",
            "it.geosolutions.imageio-ext:imageio-ext-utilities:1.1.5",
            "java3d:vecmath:1.3.2",
            "javax.media:jai_codec:1.1.3",
            "javax.media:jai_core:1.1.3",
            "javax.media:jai_imageio:1.1",
            "jdom:jdom:1.0",
            "jfree:eastwood:1.1.1-20090908",
            "jfree:jcommon:1.0.13",
            "jfree:jfreechart:1.0.10",
            "jgridshift:jgridshift:1.0",
            "junit:junit:4.5",
            "mysql:mysql-connector-java:5.1.17",
            "net.java.dev.jsr-275:jsr-275:1.0-beta-2",
            "net.sf.opencsv:opencsv:2.0",
            "net.sourceforge.hatbox:hatbox:1.0.b7"
    ) {
        transitive = false
    }
    compile("org.apache.avalon.framework:avalon-framework-api:4.3.1",
            "org.apache.avalon.framework:avalon-framework-impl:4.3.1",
            "org.apache.xmlgraphics:batik-anim:1.7",
            "org.apache.xmlgraphics:batik-awt-util:1.7",
            "org.apache.xmlgraphics:batik-bridge:1.7",
            "org.apache.xmlgraphics:batik-css:1.7",
            "org.apache.xmlgraphics:batik-dom:1.7",
            "org.apache.xmlgraphics:batik-ext:1.7",
            "org.apache.xmlgraphics:batik-gvt:1.7",
            "org.apache.xmlgraphics:batik-js:1.7",
            "org.apache.xmlgraphics:batik-parser:1.7",
            "org.apache.xmlgraphics:batik-script:1.7",
            "org.apache.xmlgraphics:batik-svg-dom:1.7",
            "org.apache.xmlgraphics:batik-svggen:1.7",
            "org.apache.xmlgraphics:batik-transcoder:1.7",
            "org.apache.xmlgraphics:batik-util:1.7",
            "org.apache.xmlgraphics:batik-xml:1.7",
            "org.apache.xmlgraphics:fop:0.94",
            "org.apache.xmlgraphics:xmlgraphics-commons:1.2",
            "org.bouncycastle:bcmail-jdk14:1.38",
            "org.bouncycastle:bcprov-jdk14:1.38",
            "org.bouncycastle:bctsp-jdk14:1.38",
            "org.eclipse.emf:common:2.6.0",
            "org.eclipse.emf:ecore:2.6.1",
            "org.eclipse.xsd:xsd:2.6.0",
            "org.geoscript:geocss_2.9.1:0.7.4",
            "org.geoscript:geoscript-groovy:1.0-SNAPSHOT",
            "org.geotools.jdbc:gt-jdbc-h2:8.4",
            "org.geotools.jdbc:gt-jdbc-mysql:8.4",
            "org.geotools.jdbc:gt-jdbc-postgis:8.4",
            "org.geotools.jdbc:gt-jdbc-spatialite:8.4"
    ) {
        transitive = false
    }
    compile("org.geotools.ogc:net.opengis.fes:8.4",
            "org.geotools.ogc:net.opengis.ows:8.4",
            "org.geotools.ogc:net.opengis.wfs:8.4",
            "org.geotools.ogc:org.w3.xlink:8.4",
            "org.geotools.xsd:gt-xsd-core:8.4",
            "org.geotools.xsd:gt-xsd-fes:8.4",
            "org.geotools.xsd:gt-xsd-filter:8.4",
            "org.geotools.xsd:gt-xsd-gml2:8.4",
            "org.geotools.xsd:gt-xsd-gml3:8.4",
            "org.geotools.xsd:gt-xsd-ows:8.4",
            "org.geotools.xsd:gt-xsd-wfs:8.4",
            "org.geotools:gt-api:8.4",
            "org.geotools:gt-brewer:8.4",
            "org.geotools:gt-charts:8.4",
            "org.geotools:gt-coverage:8.4",
            "org.geotools:gt-cql:8.4",
            "org.geotools:gt-data:8.4",
            "org.geotools:gt-epsg-hsql:8.4",
            "org.geotools:gt-geojson:8.4",
            "org.geotools:gt-graph:8.4",
            "org.geotools:gt-grid:8.4",
            "org.geotools:gt-jdbc:8.4",
            "org.geotools:gt-main:8.4",
            "org.geotools:gt-metadata:8.4",
            "org.geotools:gt-opengis:8.4",
            "org.geotools:gt-process-feature:8.4",
            "org.geotools:gt-process-geometry:8.4",
            "org.geotools:gt-process:8.4",
            "org.geotools:gt-property:8.4",
            "org.geotools:gt-referencing:8.4",
            "org.geotools:gt-render:8.4"
    ) {
        transitive = false
    }
    compile("org.geotools:gt-shapefile:8.4",
            "org.geotools:gt-svg:8.4",
            "org.geotools:gt-swing:8.4",
            "org.jaitools:jt-utils:1.3.0",
            "org.jaitools:jt-zonalstats:1.3.0",
            "org.json:json:20090211",
            "org.opengeo:geodb:0.7-RC2",
            "org.scala-lang:scala-library:2.9.1",
            "picocontainer:picocontainer:1.2",
            "postgresql:postgresql:8.4-701.jdbc3"
    ) {
        transitive = false
    }

非常冗长,但可以在Grails 2.1.0中正常运行

关于grails - 带有Grails的Geoscript工具使SAX发生冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13714738/

相关文章:

grails - Grails中的TransientObjectException

json - 在 groovy 中按项目值对 json 字符串进行排序

ubuntu - 启动时间慢

groovy - Groovy 脚本中的全局方法

绝妙的单例模式

java - 我应该在 grails 2.0 中使用哪个 paypal/payment 插件?

sql - 为什么 GORM 使用连接表进行一对多?

grails - 在单元测试中获取 grails.serverURL?

javascript - 带有AngularJS的Spring Security CAS grails插件,登录页面不显示

grails - 在 Grails 中将 xsl 文件放在哪里,以及如何获取路径