自由8.5.5.2 + eclipse + maven:部署问题

时间:2014-05-22 13:18:54

标签: eclipse maven websphere-liberty

根据指南 - https://github.com/WASdev/ci.maven#deploy, 我制作了如下的pom.xml


             <plugin>
                <groupId>net.wasdev.wlp.maven.plugins</groupId>
                <artifactId>liberty-maven-plugin</artifactId> 
                <version>1.0</version>
               <configuration>
                    <serverHome>D:\eclipses\eGovFrameDev-2.7.0-64bit_Liberty\wlp</serverHome>
                    <serverName>defaultServer</serverName>
                </configuration>
                <executions>
                        <execution>
                        <id>deploy-app</id>
                        <phase>post-integration-test</phase>
                        <goals>
                            <goal>deploy</goal>
                        </goals>
                        <configuration>
                            <appArchive>D:\eclipses\eGovFrameDev-2.7.0-64bit_Liberty\workspace\Test\target\Test-0.0.1-SNAPSHOT.war</appArchive>                  
                        </configuration>
                    </execution>
                </executions>

当我运行'mvn -X liberty:deploy'时,我得到了如下的异常


[错误]无法在项目上执行目标net.wasdev.wlp.maven.plugins:liberty-maven-plugin:1.0:deploy(default-cli)测试: CWWKM2155E:没有要部署的应用程序由appArchive属性指定 - &gt; [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:无法在项目上执行目标net.wasdev.wlp.maven.plugins:liberty-maven-plugin:1.0:deploy(default-cli)测试:CWWKM2155E:没有应用程序是按照appArchive属性的指定进行部署     在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)     在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)     在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)     在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)     在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)     在org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)     在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)     在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)     在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)     在org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)     在org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)     在org.apache.maven.cli.MavenCli.main(MavenCli.java:141)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)     在java.lang.reflect.Method.invoke(Method.java:619)     在org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)     在org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)     在org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)     在org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 引起:org.apache.maven.plugin.MojoExecutionException:CWWKM2155E:CWWKM2155E:没有appArchive属性指定的应用程序部署     在org.codehaus.mojo.pluginsupport.MojoSupport.execute(MojoSupport.java:129)     在org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)     在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)     ......还有19个 引起:org.apache.maven.plugin.MojoExecutionException:CWWKM2155E:CWWKM2155E:没有appArchive属性指定的应用程序部署     at net.wasdev.wlp.maven.plugins.applications.DeployAppMojo.doExecute(DeployAppMojo.java:76)     在org.codehaus.mojo.pluginsupport.MojoSupport.execute(MojoSupport.java:122)

... 21更多

请给我专家建议如何解决此问题,然后使用maven在IBM WAS Liberty上部署应用程序

谢谢,

1 个答案:

答案 0 :(得分:0)

使用Maven命令行,您可以执行目标(就像在这种情况下一样)或生命周期阶段(例如 install )。在您附加的pom.xml片段中,您有一个插件级配置(使用 serverHome serverName )和执行级配置(使用 appArchive )。问题是当从命令行执行插件的特定目标时,仅使用插件级配置。这就是插件没有看到 appArchive 配置的原因。但是,如果您执行Maven阶段(例如 install ),则将使用执行级别配置(在适当的时间)并部署应用程序。

如果您希望部署目标在命令行中运行,只需将 appArchive 配置移动到插件级配置即可。此外,以下内容可能会有所帮助:http://maven.apache.org/guides/mini/guide-default-execution-ids.html