2014-01-26 38 views
0

我试图使用JMeter的插件使用JMeter,Maven的插件作为在https://stackoverflow.com/a/18398268/1639134 描述,但它失败:JMeter的插件未能执行

Cause: Error loading class 'com.lazerycode.jmeter.Plugin' 

整个堆栈跟踪:

[email protected]:~/tmp/m$ time mvn -e verify | tee mvn.out 
+ Error stacktraces are turned on. 
[INFO] Scanning for projects... 
[INFO] ------------------------------------------------------------------------ 
[INFO] Building Unnamed - org.company.app:jmeter-tests:jar:0.0.1 
[INFO] task-segment: [verify] 
[INFO] ------------------------------------------------------------------------ 
[INFO] [resources:resources {execution: default-resources}] 
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory /home/user/tmp/m/src/main/resources 
[INFO] [compiler:compile {execution: default-compile}] 
[INFO] No sources to compile 
[INFO] [resources:testResources {execution: default-testResources}] 
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent! 
[INFO] skip non existing resourceDirectory /home/user/tmp/m/src/test/resources 
[INFO] [compiler:testCompile {execution: default-testCompile}] 
[INFO] No sources to compile 
[INFO] [surefire:test {execution: default-test}] 
[INFO] No tests to run. 
[INFO] Surefire report directory: /home/user/tmp/m/target/surefire-reports 

------------------------------------------------------- 
T E S T S 
------------------------------------------------------- 

Results : 

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0 

[INFO] [jar:jar {execution: default-jar}] 
[WARNING] JAR will be empty - no content was marked for inclusion! 
[INFO] Building jar: /home/user/tmp/m/target/jmeter-tests-0.0.1.jar 
[WARNING] POM for 'kg.apc:perfmon:pom:1.0.0:compile' is invalid. 

Its dependencies (if any) will NOT be available to the current build. 
[INFO] ------------------------------------------------------------------------ 
[ERROR] BUILD ERROR 
[INFO] ------------------------------------------------------------------------ 
[INFO] Failed to configure plugin parameters for: com.lazerycode.jmeter:jmeter-maven-plugin:1.9.0 



Cause: Error loading class 'com.lazerycode.jmeter.Plugin' 
[INFO] ------------------------------------------------------------------------ 
[INFO] Trace 
org.apache.maven.lifecycle.LifecycleExecutionException: Error configuring: com.lazerycode.jmeter:jmeter-maven-plugin. Reason: Unable to parse the created DOM for plugin configuration 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:723) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) 
     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:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     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) 
Caused by: org.apache.maven.plugin.PluginConfigurationException: Error configuring: com.lazerycode.jmeter:jmeter-maven-plugin. Reason: Unable to parse the created DOM for plugin configuration 
     at org.apache.maven.plugin.DefaultPluginManager.populatePluginFields(DefaultPluginManager.java:1363) 
     at org.apache.maven.plugin.DefaultPluginManager.getConfiguredMojo(DefaultPluginManager.java:724) 
     at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:468) 
     at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) 
     ... 17 more 
Caused by: org.codehaus.plexus.component.configurator.ComponentConfigurationException: Error loading class 'com.lazerycode.jmeter.Plugin' 
     at org.codehaus.plexus.component.configurator.converters.composite.CollectionConverter.fromConfiguration(CollectionConverter.java:170) 
     at org.codehaus.plexus.component.configurator.converters.ComponentValueSetter.configure(ComponentValueSetter.java:247) 
     at org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter.processConfiguration(ObjectWithFieldsConverter.java:137) 
     at org.codehaus.plexus.component.configurator.BasicComponentConfigurator.configureComponent(BasicComponentConfigurator.java:56) 
     at org.apache.maven.plugin.DefaultPluginManager.populatePluginFields(DefaultPluginManager.java:1357) 
     ... 20 more 
Caused by: java.lang.ClassNotFoundException: com.lazerycode.jmeter.Plugin 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
     at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195) 
     at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255) 
     at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274) 
     at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
     at org.codehaus.plexus.component.configurator.converters.composite.CollectionConverter.fromConfiguration(CollectionConverter.java:158) 
     ... 24 more 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 6 seconds 
[INFO] Finished at: Sun Jan 26 16:04:46 MSK 2014 
[INFO] Final Memory: 52M/612M 
[INFO] ------------------------------------------------------------------------ 

real 0m7.343s 
user 0m14.033s 
sys  0m0.465s 

这是我最简单的pom.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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>org.company.app</groupId> 
    <artifactId>jmeter-tests</artifactId> 
    <version>0.0.1</version> 

<build> 
<plugins> 
<plugin> 
    <groupId>com.lazerycode.jmeter</groupId> 
    <artifactId>jmeter-maven-plugin</artifactId> 
    <version>1.9.0</version> 
    <executions> 
     <execution> 
      <id>jmeter-tests</id> 
      <phase>verify</phase> 
      <goals> 
       <goal>jmeter</goal> 
      </goals> 
      <configuration> 
       <jmeterPlugins> 
       <plugin> 
         <groupId>kg.apc</groupId> 
         <artifactId>jmeter-plugins</artifactId> 
       </plugin> 
       </jmeterPlugins> 
      </configuration> 
     </execution> 
    </executions> 
    <dependencies> 
     <dependency> 
      <groupId>kg.apc</groupId> 
      <artifactId>jmeter-plugins</artifactId> 
      <version>1.0.0</version> 
     </dependency> 
    </dependencies> 
</plugin> 
</plugins> 
</build> 
</project> 
+0

什么是你的src /测试/ JMeter的目录?如果不向jmeter插件添加依赖项,它会起作用吗? – Ardesco

+0

这个问题在安装maven 3(标准ubuntu仓库3.0.4)后得到修复。问题出在maven 2.2 –

+0

有趣的是,你可以在https://github.com/Ronnie76er/jmeter-maven-plugin/issues上提出一个错误,并把POM引起你的问题。它应该在maven 2和maven 3中工作 – Ardesco

回答

2

这里■添加一个答案o人们不必去上面评论中的链接。

问题是jmeter-plugins 1.0.0缺少对某些perfmon库的引用。它在mvn 3中工作,因为mvn 3更容易传递依赖性错误。

我试过从mvn2中的依赖关系中排除perfmon,但它仍然无法工作。 jmeter-plugins团队发布插件的更新版本,而不会出现传递依赖性错误。

解决方法是使用Maven 3

相关问题