我在Maven项目根目录中的Windows shell中键入以下内容,该项目包含具有
公共静态空洞主(String[] args)
我想要运行的方法。
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 -Dexec.executable="java“
和
org.codehaus.mojo:exec-maven-plugin:1.2.1:java .
都没有用。怎么回事?
我在Windows7Enterprise64位上运行Maven 2.2.1,Java 1.6.0_27。
我的pom.xml上的一个代码片段是.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec-maven-plugin.version}</version>
</plugin> 在<properties>中设置版本
发布于 2011-09-29 20:49:45
所以..。重新审视这个..。如果您使用PowerShell,您将得到我最初报告的异常。但是,如果您使用的是cmd.exe,那么您应该能够按照我发布的命令运行这个类(不管有没有双引号包装)。
发布于 2011-09-28 01:41:38
有一些非常基本的错误。试着去掉引号。那里不需要他们。实际上,试着从一些简单的东西开始,比如
mvn -e exec:java -Dexec.mainClass=foo 这会给您错误“执行Javaclass.foo时发生的异常”,根本原因应该是ClassNotFoundException:
Caused by: java.lang.ClassNotFoundException: foo
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)你自己打出来。不要从其他地方复制/粘贴命令。
https://stackoverflow.com/questions/7576265
复制相似问题