JMH建议您使用他们的原型创建项目。通过将我的代码作为依赖项包含在这个生成的项目中,我能够以这种方式运行我的基准测试代码。
但是,我现在尝试使用配置文件将基准测试直接集成到我的项目源代码中
<profiles>
<profile>
<id>benchmark</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>${uberjar.name}</finalName>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.openjdk.jmh.Main</mainClass>
</transformer>
</transformers>
<filters>
<filter>
<!--
Shading signed JARs will fail without this.
http://stackoverflow.com/questions/999489/invalid-signature-file-when-attempting-to-run-a-jar
-->
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>${jmh.version}</version>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh.version}</version>
</dependency>
</dependencies>
</profile>
</profiles>
当我这样做并运行生成的基准测试jar时,我得到一个不兼容的类更改错误
Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.openjdk.jmh.Main.main(Main.java:44)
任何指点将不胜感激
你真的需要一个单独的pom的JMH。我会使用maven调用器插件来调用它。
问题内容: 是否有任何IDE(或与此相关的任何其他工具)都能够基于现有项目生成POM? 我最终按照Peter和Sal的建议,使用Maven原型生成了POM,然后将现有资源移入了。感谢您的帮助。 问题答案: 您可以在IntelliJ中执行此操作,但是它生成的POM可能比手工编写要复杂得多。如果您的项目当前在JBuilder或Eclipse中,则可以首先导入它。 相反,我建议您在POM中描述您的项目,
我正在构建我的第一个Android应用程序,我在github上发现了一个java项目,我想和我的应用程序集成在一起。我是否可以手动将java文件添加到我的android项目目录 app->java->com.example.appname java客户机的src->main目录有一个嵌套的文件结构,所以我不确定这是否会引起问题。 我已经尝试了本文中的解决方案,但我没有看到步骤2中提供的选项如何将现
我正在尝试对现有的android项目进行本地集成,但在android studio中构建项目时出现了以下异常。 原因:java.lang.Exception:React Native CLI无法确定Android项目配置。这可能是由于配置错误。配置输出:[root:/Users/muratoner/Desktop/backup/Sabanci.Projects/Mobile/hrweb-ract-
我有一个Spring Boot项目,它最初使用hibernate.ddl-auto: update命令来创建模式。现在我想迁移到liquibase,因此以下步骤是: 在cmd上运行diffChangeLog以生成现有模式- 到现在为止,一直都还不错。现在我想把这个更改转移到生产环境中,当我的spring boot项目启动时,它应该在启动之前自动运行changelogSync命令,然后引导项目,这样
我首先通过执行生成了一个gwt maven项目- mvn原型:生成-Darch etypeGroupId=org.codehaus.mojo-Darch etypeartifactId=gwt-maven-plugin-Darch etypeVersion=2.7.0 在那之后,pom。xml如下所示: 然后我通过内置的eclipse函数将这个项目导入eclipse——导入现有的Maven项目。
问题内容: 自从Go 1.5发布以来,我开始着眼于如何将其集成到我现有的项目中。 该项目的代码库完全用C编写,可以低级访问硬件和其他有趣的东西。但是,某些较高层次的东西很繁琐,我想开始用较高层次的语言(Go)编写它们 我可以通过C程序调用Go代码吗?我安装了Go 1.5,它添加了(https://golang.org/s/execmodes),我正试图开始工作。 但是,我似乎无法让Go生成适当的头