저는 Maven에서 Caliper를 사용하려고하는데, 아직 캘리퍼스 벤치 마크 테스트를 성공적으로 수행하지 못했습니다.exec-maven-plugin을 사용한 캘리퍼 테스트에서 main 메소드 서명이 유효하지 않습니다.
캘리퍼스 버전 : 1.0 베타 1
내 벤치 마크 :
public class MyXercesSAXHandlerBenchmark extends Benchmark{
@Param({"10", "100", "1000", "10000"}) private int length;
public void timeNanoTime(int reps) {
for (int i = 0; i < reps; i++) {
System.nanoTime();
}
}
public static void main(String[] args) {
CaliperMain.main(MyXercesSAXHandlerBenchmark.class, args);
}
}
내 받는다는의 pom.xml이 있습니다
<profiles>
<profile>
<id>benchmarks</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>caliper</id>
<phase>compile</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<classpathScope>test</classpathScope>
<mainClass>my.path.to.benchmark.MyXercesSAXHandlerBenchmark</mainClass>
<arguments>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
나는 달렸다 :
MVN 새로 설치 mvn 컴파일 -P 벤치 마크 -e -X
Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occured while executing the Java class. The specified mainClass doesn't contain a main method with appropriate signature.
at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:345)
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: java.lang.Exception: The specified mainClass doesn't contain a main method with appropriate signature.
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:294)
at java.lang.Thread.run(Thread.java:680)
Caused by: java.lang.NoSuchMethodException: com.google.caliper.runner.CaliperMain.main([Ljava.lang.String;)
at java.lang.Class.getMethod(Class.java:1632)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:283)
... 1 more
Maven에서 ' com.google.caliper.runner.CaliperMain '을 정의했지만 'MyXercesSAXHandlerBenchmark' 내부에 기본 메소드를 게시 하시겠습니까?! –
메인 클래스를 메인 클래스로 변경했는데 다음과 같이 나타납니다 :'Caused by : java.lang.ClassNotFoundException :' – Blankman
그에 따라 게시물을 업데이트 할 수 있습니까? –