сборка не удалась при использовании задач maven call ant "xslt" - PullRequest
0 голосов
/ 30 июля 2011

Эта часть pom.xml

<plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>                 
                    <executions>
                        <execution>

                            <id>validate</id>
                            <phase>validate</phase>
                            <configuration>
                                <sourceRoot>${basedir}/target/generated/src/main/java</sourceRoot>
                                <tasks>
                                    <property name="generated.target" value="${basedir}/target/generated" />
                                    <property name="generated.src.test" value="${generated.target}/src/main/java" />
                                    <property name="generated.resources.test" value="${generated.target}/src/main/resources" />
                                    <property name="generated.wsdl.test" value="${generated.resources.test}/" />
                                    <property name="test.resources.dir" location="${basedir}/src/main/resources" />

                                    <mkdir  dir="${generated.resources.test}/wsdl/type_test" />
                                    <xslt classpath="C://saxonhe9-3-0-5j/saxon9he.jar"  style="${test.resources.dir}/wsdl/type_test/type_test_ID_xsd.xsl" in="${test.resources.dir}/wsdl/type_test/type_test.xsd" out="${generated.resources.test}/wsdl/type_test/type_test_1.xsd">
                                          <param name="groupID" expression="1" />
                                    </xslt>

...

Это ошибка

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:
run (validate) on project cxf-testutils: An Ant BuildException has occured: java
.lang.NoClassDefFoundError: org/apache/xml/serializer/ExtendedContentHandler: or
g.apache.xml.serializer.ExtendedContentHandler -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o
rg.apache.maven.plugins:maven-antrun-plugin:1.6:run (validate) on project cxf-te
stutils: An Ant BuildException has occured: java.lang.NoClassDefFoundError: org/
apache/xml/serializer/ExtendedContentHandler
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:217)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:153)
        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor
.java:145)

Я попытался добавить classpath = "C: //saxonhe9-3-0-5j/saxon9he.jar "в теге xslt.Но это все равно выбрасывает это исключение.Я попробовал Maven 2.2.0 и Maven 3.0.3.JDK 1.6.0 Все не удалось. Этот pom на самом деле из исходного кода apache cxf.Кто-нибудь может это исправить?

ОБНОВЛЕНИЕ Я перепробовал много обходных путей.Но этот наконец работает.Ничего не меняйте в теге xslt.Просто поместите ваши файлы jalan jar в папку% JAVA-HOME% \ jre \ lib \.Я загружаю xalan-j_2_7_0.И запустить cmdjava org.apache.xalan.xslt.EnvironmentCheck, чтобы убедиться, что он может его найти.Это наконец работает.Ха!Мне потребуется несколько часов, чтобы решить это.

Ответы [ 2 ]

1 голос
/ 30 июля 2011

Используйте XML Maven Plugin .Это поддерживает Saxon практически из коробки.

0 голосов
/ 22 мая 2013

Просто столкнулся с этой проблемой, и это то, что я сделал, чтобы решить ее.

Добавить зависимость для саксонской:

<dependency>
    <groupId>net.sf.saxon</groupId>
    <artifactId>Saxon-HE</artifactId>
    <version>9.4</version>
</dependency>

Добавить classpath для саксонской:

<xslt in="in.xml" out="out.html" style="style.xsl">
  <classpath location="${net.sf.saxon:Saxon-HE:jar}" />
  <factory name="net.sf.saxon.TransformerFactoryImpl"/>
</xslt>
...