Exec maven plugin LensKit:未能执行目标org.codehaus.mojo:exec maven插件:1.2.1:exec(默认cli)
我正在使用LensKit recommender在Netbeans中构建一个maven项目,但是当我尝试运行groovy文件时,我得到以下错误:Exec maven plugin LensKit:未能执行目标org.codehaus.mojo:exec maven插件:1.2.1:exec(默认cli),exec-maven-plugin,lenskit,Exec Maven Plugin,Lenskit,我正在使用LensKit recommender在Netbeans中构建一个maven项目,但是当我尝试运行groovy文件时,我得到以下错误: [exec:exec] Exception in thread "main" groovy.lang.MissingPropertyException: No such property: config for class: eval.eval at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.u
[exec:exec]
Exception in thread "main" groovy.lang.MissingPropertyException: No such property: config for class: eval.eval
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
at eval.eval.run(eval.groovy:23)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1076)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:906)
at org.codehaus.groovy.runtime.InvokerHelper.invokePogoMethod(InvokerHelper.java:848)
at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:831)
at org.codehaus.groovy.runtime.InvokerHelper.runScript(InvokerHelper.java:407)
at org.codehaus.groovy.runtime.InvokerHelper$runScript.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
at eval.eval.main(eval.groovy)
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 4.681s
Finished at: Tue Jan 07 13:30:37 EET 2014
Final Memory: 18M/179M
------------------------------------------------------------------------
Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project CF_Lenskit: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.
For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
mypom.xml包含以下内容
<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>
<groupId>gr.hua.dit</groupId>
<artifactId>CF_Lenskit</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<lenskit.eval.scriptDir>${basedir}/src/eval/</lenskit.eval.scriptDir>
<lenskit.eval.dataDir>${basedir}/target/data/</lenskit.eval.dataDir>
<lenskit.eval.analysisDir>${basedir}/target/analysis/</lenskit.eval.analysisDir>
<lenskit.eval.publishDir>${basedir}/src/paper/</lenskit.eval.publishDir>
<lenskit.version>2.0.5</lenskit.version>
<rscript.executable>Rscript</rscript.executable>
<!-- <grouplens.mldata.acknowledge>no</grouplens.mldata.acknowledge> -->
</properties>
<dependencies>
<dependency>
<groupId>org.grouplens.lenskit</groupId>
<artifactId>lenskit-core</artifactId>
<version>${lenskit.version}</version>
</dependency>
<dependency>
<groupId>org.grouplens.lenskit</groupId>
<artifactId>lenskit-knn</artifactId>
<version>${lenskit.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<artifactId>groovy-all</artifactId>
<groupId>org.codehaus.groovy</groupId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.grouplens.lenskit</groupId>
<artifactId>lenskit-eval-maven-plugin</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.grouplens.lenskit</groupId>
<artifactId>lenskit-eval</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<artifactId>lenskit-eval-maven-plugin</artifactId>
<groupId>org.grouplens.lenskit</groupId>
<version>${lenskit.version}</version>
<extensions>true</extensions>
<configuration>
<script>${lenskit.eval.scriptDir}/eval.groovy</script>
<analysisScript>${lenskit.eval.scriptDir}/chart.R</analysisScript>
<targets>
<target>draw</target>
<target>analyze</target>
</targets>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>latex-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>do-latex</id>
<phase>lenskit-publish</phase>
<goals>
<goal>latex</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-eclipse-compiler</artifactId>
<version>2.6.0-01</version>
</dependency>
</dependencies>
<configuration>
<compilerId>groovy-eclipse-compiler</compilerId>
</configuration>
</plugin>
<plugin>
<artifactId>groovy-eclipse-compiler</artifactId>
<groupId>org.codehaus.groovy</groupId>
<version>2.6.0-01</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
</project>
看起来NetBeans正在使用Codehaus
exec-maven插件
作为groovy脚本直接运行LensKiteval.groovy
文件。LensKit eval脚本不能作为Groovy脚本直接运行,它们必须使用LensKit evaluator运行
有两种方法可以做到这一点:
- 使用evaluator命令行界面,可以使用二进制发行版中的
脚本,也可以运行NetBeans中的lenskit eval
类org.grouplens.lenskit.eval.cli.EvalCLI
- 使用lenskit eval maven插件。您的POM已设置为执行此操作;对于这个选项,您要做的是运行
Maven目标(NetBeans应该有一种运行任意Maven目标/阶段的方法)lenskit analyze
我的代码格式似乎有错误,但我找不到原因,因此如果有版主可以编辑,那就太好了,谢谢。你能发布堆栈跟踪(使用
mvn-e重新运行)
)?谢谢你,Michael,我如何从netbeans查看堆栈跟踪?我试图在我的项目的运行选项中设置mvn-e,但是输出没有任何变化。好的,我已经更新了我的第一篇文章!谢谢。所以,如果我做对了,我必须创建一个自定义目标,运行lenskit analyze
目标来使用第二个选项?我很困惑,因为我的项目中没有定义目标。@omen lenskit eval maven插件将lenskit Analysis
阶段定义为lenskit生命周期的一部分,默认情况下在lenskit eval
阶段运行lenskit evaluator(它位于lenskit analyze
之前。因此,您只需运行mvn lenskit analyze
,而不是例如mvn install
;NetBeans的Maven runner应该有一种方法来指定要运行的目标/阶段。该阶段已经由您使用lenskit Maven插件的事实定义了。@Michael Ekstrand谢谢!明白了。M我可以问其他问题而不是创建一个新线程吗?我在IntelliJ
运行lenskit analyze
阶段测试了evaluator,但我得到了一个错误错误:在-source 1.6
中不支持try with resources引用我在项目中创建的两个java文件。令人困惑的是我设置了>项目结构设置中的jdk
版本到1.7
和项目语言级别到7.0
。我做错了什么吗?@Michael Ekstrand忽略了我之前的评论,不知怎的,org.apache.maven.plugins
的源和目标配置仍然设置为1.6
构建失败,出现错误:未能执行目标组织.grouplens.lenskit:lenskit eval maven插件:2.0.5:在项目上运行eval(默认运行eval):执行目标组织的默认运行eval.grouplens.lenskit:lenskit eval maven插件:2.0.5:运行eval失败:java.lang.RuntimeException:grouplens数据许可证未确认->[帮助1]
。请原谅我问了一些与第一篇文章不相关的问题,但你最好是直接了解!@Omen,请参阅。LensKit 2.1(目前正在开发中)不再需要这一点。此外,有关配置设置的更多详细问题,可以在邮件列表中询问(请参阅)
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli) on project CF_Lenskit: Command execution failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Command execution failed.
at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:362)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
Caused by: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:377)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:160)
at org.codehaus.mojo.exec.ExecMojo.executeCommandLine(ExecMojo.java:610)
at org.codehaus.mojo.exec.ExecMojo.execute(ExecMojo.java:352)
... 21 more