Maven无法从父pom部署

cla*_*aim 9 jboss pom.xml maven multi-module wildfly

我刚刚开始使用Maven构建应用程序.我的一种方法是构建一个多模块Web应用程序.使用Eclipse可以很容易地构建这种类型的应用程序.到目前为止一切正常.我失败的地方是部署.我使用Wildfly作为我的应用程序服务器,并且表示层的部署运行良好.但是,当我想从父项目部署时,我得到以下消息:

Failed to execute goal org.wildfly.plugins:wildfly-maven-plugin:1.0.1.Final:deploy (default-cli) on project build: Error executing FORCE_DEPLOY: C:\Users\*****\Desktop\workspace\mvnexbook-examples-1.0\ch-multi\target\parent-0.8-SNAPSHOT.maven-project (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

这非常令人困惑.部署是否不是从.m2/repository文件夹中以前安装的文件进行的?我的父文件夹中是否需要目标目录?

我的父pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                             http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.sonatype.mavenbook.multi</groupId>
        <artifactId>simple-parent</artifactId>
        <version>0.8-SNAPSHOT</version>
    </parent>

    <artifactId>simple-webapp</artifactId>
    <packaging>war</packaging>
    <name>Multi Chapter Simple Web Application Project</name>
    <dependencies>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-servlet_2.4_spec</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.sonatype.mavenbook.multi</groupId>
            <artifactId>simple-weather</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
    <build>
        <finalName>simple-webapp</finalName>
        <plugins>

            <plugin>
                <groupId>org.wildfly.plugins</groupId>
                <artifactId>wildfly-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>
Run Code Online (Sandbox Code Playgroud)

编辑:我刚用码头试过.工作良好.为什么它不与Wildfly合作?

EDIT2:我正在使用sonatype书中的简单父项目示例

Jam*_*ins 18

在父POM中,您需要添加<skip>true</skip>到配置中.然后将其设置false为WAR POM.

家长POM

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <version>1.0.1.Final</version>
    <configuration>
        <skip>true</skip>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

WAR POM

<plugin>
    <groupId>org.wildfly.plugins</groupId>
    <artifactId>wildfly-maven-plugin</artifactId>
    <configuration>
        <skip>false</skip>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

  • 您只需要将"<skip> true </ skip>"添加到您不想部署的模块中,或者只在您希望部署的模块中指定插件.在执行插件目标时,后者会要求您在该目录中. (2认同)