新的GWTMaven插件
当我试图编译时,我得到了下面的错误。 目标是gwt:compile 我确实将moduleName设置为变量。 模块名称为新的GWTMaven插件,maven,gwt,maven-plugin,Maven,Gwt,Maven Plugin,当我试图编译时,我得到了下面的错误。 目标是gwt:compile 我确实将moduleName设置为变量。 模块名称为com.example.app.app 同样的事情命令行~/work/projects/gwt/app$mvn gwt:compile“-DmoduleName=com.example.app.app” 未能执行目标 net.ltgt.gwt.maven:gwt-maven插件:1.0-rc-6:compile(默认cli)on 项目mysandbox:目标的参数“module
com.example.app.app
同样的事情命令行~/work/projects/gwt/app$mvn gwt:compile“-DmoduleName=com.example.app.app”
未能执行目标
net.ltgt.gwt.maven:gwt-maven插件:1.0-rc-6:compile(默认cli)on
项目mysandbox:目标的参数“moduleName”
net.ltgt.gwt.maven:gwt-maven插件:1.0-rc-6:compile缺失或
无效->[帮助1]
另一方面,mvn包
工作正常
这是我的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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<prerequisites>
<maven>${mavenVersion}</maven>
</prerequisites>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mavenVersion>3.0</mavenVersion>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt</artifactId>
<version>2.8.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<launcherDir>${project.build.directory}/gwt/launcherDir</launcherDir>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<!-- Do not upgrade past 3.1 to avoid triggering https://issues.apache.org/jira/browse/MSOURCES-95 -->
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.3.14.v20161028</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>1.0-rc-6</version>
<extensions>true</extensions>
<configuration>
<sourceLevel>1.8</sourceLevel>
<failOnError>true</failOnError>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat6-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<modules>
<module>app-client</module>
<module>app-shared</module>
<module>app-server</module>
</modules>
</project>
4.0.0
com.example
应用程序
0.0.1-快照
聚甲醛
${mavenVersion}
UTF-8
3
com.google.gwt
gwt
2.8.0
聚甲醛
进口
javax.servlet
javax.servlet-api
3.1.0
net.ltgt.gwt.maven
GWTMaven插件
假的
${project.build.directory}/gwt/launcherDir
maven编译器插件
3.1
1.8
1.8
org.eclipse.jetty
jetty maven插件
9.3.14.v20161028
真的
net.ltgt.gwt.maven
GWTMaven插件
1.0-rc-6
真的
1.8
真的
maven源插件
3.0.1
附加来源
包裹
罐子没有叉子
org.apache.tomcat.maven
tomcat6 maven插件
2.2
org.apache.tomcat.maven
tomcat7 maven插件
2.2
应用程序客户端
应用程序共享
应用服务器
因此,您有一个多模块Maven项目。调用mvn gwt:compile
将尝试在4个模块(根模块和3个子模块)中的每个模块上执行该“目标”。由于您的moduleName
属性(用于配置gwt:compile
目标的moduleName
属性)可能只存在于app client
子模块中,gwt:compile
应用于根模块或app shared
子模块时失败
如果要构建项目,请运行mvn包
(如果不想运行测试,请通过-DskipTests
)
从技术上讲,您也可以直接在子模块内部运行mvn gwt:compile
。要使其工作,您首先必须mvn安装appshared
子模块;否则Maven将无法解决依赖关系(因为您将不再执行完整的“reactor build”。
出于许多原因(请参阅和作为起点),我强烈反对这种做法(mvn安装
是一种反模式;大多数时候,您需要的实际上是mvn验证
);我也不鼓励在多模块构建中使用包
之前的任何阶段(这归结为只使用mvn包
,可能使用-DskipTests
,以及mvn验证
)因此,您有一个多模块Maven项目。调用mvn gwt:compile
将尝试在4个模块(根模块和3个子模块)中的每一个模块上执行该“目标”)。因为您的moduleName
属性(用于配置gwt:compile
目标的moduleName
属性)可能只存在于app client
子模块中,gwt:compile
应用于根模块或app shared
子模块时失败
如果要构建项目,请运行mvn包
(如果不想运行测试,请通过-DskipTests
)
从技术上讲,您也可以直接在子模块内部运行mvn gwt:compile
。为此,您首先必须mvn安装app shared
子模块;否则Maven将无法解决依赖关系(因为您将不再执行完整的“reactor build”。
出于许多原因(请参阅和作为起点),我强烈反对这种做法(mvn安装
是一种反模式;大多数时候,您需要的实际上是mvn验证
);我也不鼓励在多模块构建中使用包
之前的任何阶段(这可以归结为只使用mvn包
,可能使用-DskipTests
,以及mvn验证
)你能显示你的POM吗?(顺便说一句,你为什么只想gwt:compile
?它不会处理你的资源,运行你的注释处理器,并将生成的源目录添加为源根目录)我想我必须先编译gwt:compile,然后再编译gwt:package应用程序,这是pom。如果你想打包你的项目,那么就打包mvn包吧。如果你想“调用”任何“任务”并自动执行所有其他必需的“任务”,那么Maven(及其线性构建生命周期)恐怕不是合适的工具(看一看Gradle)。你能展示你的POM吗?(顺便说一句,你为什么只想编译gwt:compile
?它不会处理你的资源,运行你的注释处理器,并将生成的源目录添加为源根目录)我想我必须先编译gwt:compile,然后再编译gwt:package应用程序,这是pom。如果你想打包你的项目,那么就打包mvn包吧。如果你想“调用”任何“任务”并自动执行所有其他必需的“任务”,那么Maven(及其线性构建生命周期)恐怕不是合适的工具(不妨看看格拉德尔)。