java - Maven父pom : Unable to resolve imported document

标签 java maven parent-pom

在以下项目结构中:

Parent
    - ProjectA
    - ProjectB
    - etc.
当我从 ProjectA 中运行 mvn clean install 时,

ProjectA 正确构建。

但是,当我从 Parent 文件夹运行 mvn clean install 时,出现以下错误:

[ERROR] Failed to execute goal org.apache.axis2:axis2-wsdl2code-maven-plugin:1.5.6:wsdl2code 
(default) on project ProjectA: Error parsing WSDL: 
WSDLException: faultCode=OTHER_ERROR: Unable to resolve imported document
at 'target/TcWebService.wsdl'.: java.io.FileNotFoundException: 
This file was not found: 
file:/D:{PATH_TO_PARENT}/target/TcWebService.wsdl -> [Help 1]

正确的路径为file:/D:{PATH_TO_PARENT}/ProjectA/target/TcWebService.wsdlProjectA 部分缺失

父.pom

<modules>
    <module>ProjectA</module>
    <module>ProjectB</module>
    ...
</modules>

项目A pom:

<parent>
    <groupId>{MY.GROUP.ID}</groupId>
    <artifactId>jars</artifactId>
    <version>1.0</version>
    <relativePath>../pom.xml</relativePath>
</parent>

...

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <phase>validate</phase>
            <configuration>
                <tasks>
                    <copy file="src/main/wsdl/TcWebService.wsdl"
                          tofile="target/TcWebService.wsdl"/>
                </tasks>
            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
 </plugin>

请问有什么想法吗?

最佳答案

您可以采用更 Maven 的方法来解决这个问题,这样 Maven 就可以更轻松地完成您的要求。

maven-resources-plugin 肯定会对您有所帮助。

在这里阅读:https://maven.apache.org/plugins/maven-resources-plugin/examples/copy-resources.html

编辑

我认为这里的问题是工作目录。当您运行子模块时,您位于子项目的目录中。所以 childProject\target 适合你。但是,当您运行主项目时,您位于父目录中,这不起作用。因此,需要通过在复制任务的 filetofile 中提供文件的绝对路径来解决此问题。 ${project.basedir} 作为路径的前缀可能会有所帮助。

关于java - Maven父pom : Unable to resolve imported document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42999167/

相关文章:

java - 无法在intellij idea/svn中提交pom.xml

java - 如何将 gradle 'compile project' 依赖项添加到已发布的 *.pom?

java - 为什么 Hibernate 会抛出 org.hibernate.exception.LockAcquisitionException?

java - 错误 : Upgrade Fragment version to at least 1. 3.0。 [InvalidFragmentVersionForActivityResult]

mysql - Spring Boot |创建类路径资源中定义的名称为 'entityManagerFactory' 的 bean 时出错

java - 为不同项目创建聚合 POM

maven - 如何使用 jenkins 在单个存储库中构建两个不同的项目

java - 数组边界检查可以静态执行吗?

java - 如何使 HTML 页面(不是 JSP)与 Servlet 进行通信?

java - 如何在 Java 中为 Heroku 工作进程设置最小的 Maven pom.xml 文件?