java - maven-exec-plugin 无缘无故抛出异常

标签 java windows exec-maven-plugin

我在 Maven 项目的根目录中的 Windows shell 中键入以下内容,该项目包含一个带有

的类

public static void main(String[] args)

我想运行的方法。

mvn exec:java -Dexec.mainClass="com.spp.config.main.SqlGeneratorHarness" -e

该类存在并在该包中编译 (即 target/classes/com/spp/config/main/SqlGeneratorHarness.class)。

我明白了......

+ Error stacktraces are turned on.  
[INFO] Scanning for projects...  
[INFO] Searching repository for plugin with prefix: 'exec'.  
[INFO] ------------------------------------------------------------------------  
[ERROR] BUILD FAILURE  
[INFO] ------------------------------------------------------------------------  
[INFO] Invalid task '.mainClass=com.spp.config.main.SqlGeneratorHarness': you must specify a valid 
       lifecycle phase, or a goal in the format plugin:goal or pluginGroupId:pluginArtifactId:pluginVersion:goal
[INFO] ------------------------------------------------------------------------
[INFO] Trace org.apache.maven.BuildFailureException: Invalid task' .mainClass=com.spp.config.main.SqlGeneratorHarness': you must specify 
       a valid lifecycle phase, or a goal in the format plugin:goal or pluginGroupId:pluginArtifactId:pluginVersion:goal
       at org.apache.maven.lifecycle.DefaultLifecycleExecutor.getMojoDescriptor(DefaultLifecycleExecutor.java:1830)
       at org.apache.maven.lifecycle.DefaultLifecycleExecutor.segmentTaskListByAggregationNeeds(DefaultLifecycleExecutor.java:462)
       at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:175)
       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
       at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
       at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
       at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
       at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
       at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] ------------------------------------------------------------------------
[INFO] Total time: < 1 second
[INFO] Finished at: Tue Sep 27 14:33:52 PDT 2011
[INFO] Final Memory: 3M/122M
[INFO] ------------------------------------------------------------------------

我试过类似的变体

mvn exec:exec -Dexec.executable="java" [...]

mvn org.codehaus.mojo:exec-maven-plugin:1.2.1:java [...]

没有用。给了什么?

我在 Windows 7 Enterprise 64 位上运行 Maven 2.2.1、Java JDK 1.6.0_27。

我的 exec-maven-plugin 的 pom.xml 片段是......

<plugin> 
   <groupId>org.codehaus.mojo</groupId> 
   <artifactId>exec-maven-plugin</artifactId> 
   <version>${exec-maven-plugin.version}</version> 
</plugin> 

<properties> 中设置版本的位置

最佳答案

所以...重温一下...如果您使用 Windows PowerShell,您将遇到我最初报告的异常。但是,如果您使用 cmd.exe,那么您应该能够使用我发布的命令运行该类(带或不带双引号)。

关于java - maven-exec-plugin 无缘无故抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7576265/

相关文章:

java - Tidy 导致不良间距问题 (JTidy)

java - 观察变量的变化

java - AEM 中的多字段组件 - 不保存值

windows - WinDbg:尝试附加到进程时 dbghelp.dll 的版本不匹配

python - 使用 Python 安装 Windows 应用程序后重启服务器

maven - Maven exec:java在NPE中运行可执行插件依赖项jar结果

maven - 如何在每次运行时在 Maven 中设置环境变量?

java - 如何从maven插件使用的类路径中排除项目依赖

java - 在 Java 中拆分和合并大文件(大小以 GB 为单位)

windows - 如何在 Windows 中锁定屏幕?