我在Maven構建期間處理.xsd文件時出現問題。 我使用jaxb2插件,但我必須從我的.xsd文件下載外部的依賴。問題是這些依賴項(.xsd)來自不穩定的環境,而且我的構建經常失敗,因爲maven無法下載xsd文件。如何配置jaxb插件強制他嘗試下載xsd幾次以防止構建失敗?我的pom.xml配置的在Maven中處理xsd依賴項時拋出IOException
部分:
<plugins>
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<configuration>
<strict>false</strict>
<extension>true</extension>
<args>
<arg>-Xfluent-api</arg>
<arg>-XtoString</arg>
<arg>-Xsetters</arg>
<arg>-XenumValue</arg>
</args>
<plugins>
<plugin>
<groupId>net.java.dev.jaxb2-commons</groupId>
<artifactId>jaxb-fluent-api</artifactId>
<version>${jaxb.fluentapi.version}</version>
</plugin>
<plugin>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-basics</artifactId>
<version>0.9.3</version>
</plugin>
</plugins>
<bindingDirectory>src/main/resources/jaxb</bindingDirectory>
<bindingIncludes>
<include>bindings.xml</include>
</bindingIncludes>
<schemas>
<schema>
<fileset>
<!-- Defaults to schemaDirectory. -->
<directory>${project.basedir}/src/main/resources/orbeons</directory>
<!-- Defaults to schemaIncludes. -->
<includes>
<include>*.xsd</include>
</includes>
</fileset>
</schema>
</schemas>
</configuration>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.basedir}/generated-sources/orbeons</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
因爲他們只是在他們意識到會發生什麼時纔將它放在那裏,因爲它不是由Maven本身強制執行的(沒有檢查或使用它會造成失敗),也沒有人閱讀文檔,對嗎? ;-)至於其他選項:antTask和/或exec Maven電話? –
@LiettleAncientForestKami「_nobody reading docs_」 - 非常正確!不幸。螞蟻?真?通過Maven,我們幸運地擺脫了Ant/Ivy的配置冗長,現在我們將在那裏再次介紹它? ;)順便說一句,我已經第一次在你的個人資料中讀到了「_Javavore_」這個詞。我喜歡它!推動你到1000。 –
*順便說一句:我不知道爲什麼插件不尊重「粗略粗體字母」中提到的「插件命名約定和Apache Maven商標」。* 請閱讀[this](https://github.com/highsource/maven- JAXB2-插件/問題/ 26#issuecomment-66928927)。這個插件在這個命名約定建立之前很久就被命名了。重命名現在會損害社區。所以Apache可以免費給我發送一封停止信函,然後我會關閉這個項目,然後我會厭倦這個「你不尊重我們的會議」的欺凌行爲。 – lexicore