我的项目中有一些模式。当我运行 mvn deploy 命令时。它正在将我的模式复制到集中式服务器。
对于模式更改的单元测试,我们必须先将其上传到服务器,然后才能在项目中使用它。在本地设置架构后,我们必须运行 mvn deploy 命令将其上传到本地服务器,因为现有 pom.xml 中没有安装阶段的配置。
为此,我在安装阶段编写了类似的复制执行。下面是插件配置的快照:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>xsd-publish</id>
<phase>deploy</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${xsd.publish.location}\event</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xsd</include>
</includes>
</resource>
</resources>
<overwrite>true</overwrite>
</configuration>
</execution>
<execution>
<id>copy-xsd-local</id>
<phase>install</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>\\localhost\xsd\event</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xsd</include>
</includes>
</resource>
</resources>
<overwrite>true</overwrite>
</configuration>
</execution>
</executions>
</plugin>
当我在本地机器上运行此配置时,它运行良好且符合预期。当我尝试使用 TeamCity 构建项目时,它失败了,因为团队城市有它自己的 servr ,它没有名为 xsd 的文件夹。理想情况下,当我从 Team city 运行它时,我什至不想调用这个插件执行。
有什么建议吗?