gpt4 book ai didi

java - 无法解析项目 org.openjdk.jmh :jmh-core:jar:1. 21 的依赖项

转载 作者:行者123 更新时间:2023-11-30 10:04:52 26 4
gpt4 key购买 nike

想开始做我从现在开始写的方法的基准测试,有很长一段时间的动力,终于决定从昨天开始这样做。但我对我的设置过程感到震惊。

  • 我已经正确安装了 JMH 插件。
  • 所有导入工作正常。
  • 甚至我的 POM 也没有显示错误。

但是当我运行命令 mvn clean install 时,出现以下错误:

[ERROR] Failed to execute goal on project TestOptional: Could not resolve dependencies for project Vishwaratna:TestOptional:jar:1.0-SNAPSHOT: The following artifacts could not be resolve d: org.openjdk.jmh:jmh-core:jar:1.21, org.openjdk.jmh:jmh-generator-annprocess:jar:1.21: Could not find artifact org.openjdk.jmh:jmh-core:jar:1.21 in art_all (http://maven/artifactory/li bs-snapshot)

我认为我必须强制更新存储库,所以我运行了 mvn -U clean install ,再次失败。

进行了大量搜索并浏览了 N 个 SO 线程,但仍然无法弄清楚我哪里出错了。

当我刚刚运行我的Testing.java 类时,我收到以下消息:

No matching benchmarks. Miss-spelled regexp?

Use EXTRA verbose mode to debug the pattern matching.

Process finished with exit code 1

我很困惑,当 maven 无法从中央代表处找到那些 JMH 库时,为什么我的带有所有注释的代码没有显示红色编译错误?如果正确导入了库,那么当我从终端运行 mvn clean install 时,为什么会出现无法下载 xx 的错误?

经过2个小时的挣扎,我想放弃POM.xml并尝试手动添加jar,我下载了JMH注释jar和JMH核心jar并手动配置了路径。猜猜是什么仍然没有运气。

如果你想知道我在编码什么:

import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.RunnerException;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;

public class Testing {
@Benchmark
@BenchmarkMode({ Mode.AverageTime})
public void wellHelloThere() {
// this method was intentionally left blank.
}
public static void main(String[] args) throws RunnerException {
Options opt = new OptionsBuilder()
.include(Testing.class.getSimpleName())
.forks(1)
.build();

new Runner(opt).run();
}
}

我的 POM.XML

<?xml version="1.0" encoding="UTF-8"?>
<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>Vishwaratna</groupId>
<artifactId>TestOptional</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<jmh.version>1.21</jmh.version>
</properties>

<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>
<repositories>

<repository>
<id>central-repo</id>
<name>Central Repository</name>
<url>http://repo1.maven.org/maven2</url>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>warn</checksumPolicy>
</releases>
</repository>


</repositories>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>

<annotationProcessorPaths>
<path>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.21</version>
</path>
</annotationProcessorPaths>

</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>run-benchmarks</id>
<phase>integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<classpathScope>test</classpathScope>
<executable>java</executable>
<arguments>
<argument>-classpath</argument>
<classpath />
<argument>org.openjdk.jmh.Main</argument>
<argument>.*</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>

<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>


</project>

我想要一个详细的解决方案,这对以后偶然发现这个线程的人会有帮助。

引用并尝试:

运行以下命令:mvn versions:display-dependency-updates

输出:

[INFO]
[INFO] All plugins with a version specified are using the latest versions.
[INFO]
[WARNING] The following plugins do not have their version specified:
[WARNING] maven-clean-plugin .......................... (from super-pom) 2.5
[WARNING] maven-compiler-plugin ..................... (from super-pom) 2.0.2
[WARNING] maven-deploy-plugin ......................... (from super-pom) 2.3
[WARNING] maven-install-plugin ........................ (from super-pom) 2.4
[WARNING] maven-jar-plugin ............................ (from super-pom) 2.4
[WARNING] maven-resources-plugin ...................... (from super-pom) 2.6
[WARNING] maven-site-plugin ........................... (from super-pom) 3.3
[WARNING] maven-surefire-plugin .................... (from super-pom) 2.12.4
[WARNING] org.codehaus.mojo:exec-maven-plugin ........................ 1.5.0
[INFO]
[WARNING] Project does not define minimum Maven version, default is: 2.0
[INFO] Plugins require minimum Maven version of: 3.0
[INFO] Note: the super-pom from Maven 3.2.5 defines some of the plugin
[INFO] versions and may be influencing the plugins required minimum Maven
[INFO] version.
[INFO]
[ERROR] Project does not define required minimum version of Maven.
[ERROR] Update the pom.xml to contain
[ERROR] <prerequisites>
[ERROR] <maven>3.0</maven>
[ERROR] </prerequisites>
[INFO]
[INFO] Require Maven 2.0.6 to use the following plugin updates:
[INFO] maven-clean-plugin .............................................. 2.5
[INFO] maven-deploy-plugin ........................................... 2.8.1
[INFO] maven-install-plugin .......................................... 2.5.1
[INFO] maven-jar-plugin ................................................ 2.4
[INFO] maven-resources-plugin .......................................... 2.6
[INFO] maven-site-plugin ............................................. 2.0.1
[INFO] org.codehaus.mojo:exec-maven-plugin ........................... 1.2.1
[INFO]
[INFO] Require Maven 2.0.9 to use the following plugin updates:
[INFO] maven-compiler-plugin ........................................... 3.1
[INFO] maven-surefire-plugin .......................................... 2.17
[INFO]
[INFO] Require Maven 2.2.0 to use the following plugin updates:
[INFO] maven-site-plugin ............................................... 3.0
[INFO]
[INFO] Require Maven 2.2.1 to use the following plugin updates:
[INFO] maven-clean-plugin ............................................ 2.6.1
[INFO] maven-compiler-plugin ........................................... 3.3
[INFO] maven-deploy-plugin ........................................... 2.8.2
[INFO] maven-install-plugin .......................................... 2.5.2
[INFO] maven-jar-plugin ................................................ 2.6
[INFO] maven-resources-plugin .......................................... 2.7
[INFO] maven-site-plugin ............................................... 3.4
[INFO] maven-surefire-plugin ........................................ 2.19.1
[INFO] org.codehaus.mojo:exec-maven-plugin ........................... 1.4.0
[INFO]
[INFO] Require Maven 3.0 to use the following plugin updates:
[INFO] maven-compiler-plugin ................................. 3.8.0-jboss-2
[INFO] maven-resources-plugin ........................................ 3.0.2
[INFO] maven-site-plugin ............................................... 3.6
[INFO] org.codehaus.mojo:exec-maven-plugin ........................... 1.5.0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11:33 min
[INFO] Finished at: 2019-04-10T14:45:21+05:30
[INFO] Final Memory: 15M/261M
[INFO] ------------------------------------------------------------------------

编辑:

使用命令 mvn -U clean install ,我强制更新存储库并获得了这些下载。

Picked up _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for Vishwaratna:TestOptional:jar:1.0-SNAPSHOT [WARNING] 'build.plugins.plugin.(groupId:artifactId)' must be unique but found duplicate declaration of plugin org.apache.maven.plugins:maven-compiler-plugin @ line 86, column 21 [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 86, column 21 [WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:exec-maven-plugin is missing. @ line 63, column 21 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building TestOptional 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ Downloading: http://maven/artifactory/libs-snapshot/org/codehaus/mojo/exec-maven-plugin/maven-metadata.xml Downloading: http://maven/artifactory/libs-snapshot/org/codehaus/mojo/exec-maven-plugin/maven-metadata.xml Downloaded: http://maven/artifactory/libs-snapshot/org/codehaus/mojo/exec-maven-plugin/maven-metadata.xml (873 B at 0.2 KB/sec) Downloaded: http://maven/artifactory/libs-snapshot/org/codehaus/mojo/exec-maven-plugin/maven-metadata.xml (873 B at 0.2 KB/sec) Downloading: http://maven/artifactory/libs-snapshot/org/openjdk/jmh/jmh-core/1.21/jmh-core-1.21.pom Downloading: http://maven/artifactory/libs-snapshot/org/openjdk/jmh/jmh-core/1.21/jmh-core-1.21.pom [WARNING] The POM for org.openjdk.jmh:jmh-core:jar:1.21 is missing, no dependency information available Downloading: http://maven/artifactory/libs-snapshot/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21.pom Downloading: http://maven/artifactory/libs-snapshot/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21.pom [WARNING] The POM for org.openjdk.jmh:jmh-generator-annprocess:jar:1.21 is missing, no dependency information available Downloading: http://maven/artifactory/libs-snapshot/org/openjdk/jmh/jmh-core/1.21/jmh-core-1.21.jar Downloading: http://maven/artifactory/libs-snapshot/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21.jar Downloading: http://maven/artifactory/libs-snapshot/org/openjdk/jmh/jmh-generator-annprocess/1.21/jmh-generator-annprocess-1.21.jar Downloading: http://maven/artifactory/libs-snapshot/org/openjdk/jmh/jmh-core/1.21/jmh-core-1.21.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 17.150 s [INFO] Finished at: 2019-04-10T14:57:16+05:30 [INFO] Final Memory: 7M/125M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project TestOptional: Could not resolve dependencies for project Vishwaratna:TestOptional:jar:1.0-SNAPSHOT: The following artifacts could not be resolve d: org.openjdk.jmh:jmh-core:jar:1.21, org.openjdk.jmh:jmh-generator-annprocess:jar:1.21: Could not find artifact org.openjdk.jmh:jmh-core:jar:1.21 in art_all (http://maven/artifactory/li bs-snapshot)

这表明我没有任何代理问题,现在当我在浏览器中点击任何 JMH 链接时,我得到一个 json 响应,示例:

链接: http://maven/artifactory/libs-snapshot/org/openjdk/jmh/jmh-core/1.21/jmh-core-1.21.jar

消息:

{
"errors" : [ {
"status" : 404,
"message" : "Could not find resource"
} ]
}

设置 XML

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

<localRepository>C:\GBO_ROOT\Repo</localRepository>

<servers>
<server>
<id>TomcatServer</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
<mirrors>
<mirror>
<id>art_central</id>
<name>Artifactory Mirror of Central</name>
<url>http://maven/artifactory/libs-snapshot</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>art_all</id>
<name>Artifactory Mirror of Central</name>
<url>http://maven/artifactory/libs-snapshot</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>artifactory</id>
<repositories>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://maven/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>plugins-snapshot</name>
<url>http://maven/artifactory/plugins-snapshot</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>

<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>

设置 Artifactory xml:

<?xml version="1.0" encoding="UTF-8"?>

<settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"
xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<localRepository>C:/EMA_ROOT/snapshotviews/repo</localRepository>
<mirrors>
<mirror>
<id>art_central</id>
<name>Artifactory Mirror of Central</name>
<url>http://maven/artifactory/libs-snapshot</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>art_all</id>
<name>Artifactory Mirror of Central</name>
<url>http://maven/artifactory/libs-snapshot</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>artifactory</id>
<repositories>
<repository>
<snapshots />
<id>snapshots</id>
<name>libs-snapshot</name>
<url>http://maven/artifactory/libs-snapshot</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<snapshots />
<id>snapshots</id>
<name>plugins-snapshot</name>
<url>http://maven/artifactory/plugins-snapshot</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>

<activeProfiles>
<activeProfile>artifactory</activeProfile>
</activeProfiles>
</settings>

最佳答案

我已成功运行您的示例。我唯一需要更改的是将您的 Testing.java 放入任何包中,例如 package t;

如果你的 repo 有任何问题,请尝试如果你的 settings.xml 文件中没有任何奇怪的设置。 https://maven.apache.org/settings.html .可能有一些代理集或类似的东西,这可能会改变您对项目的预期行为。

settings.xml 中的 URL 更改为 https://repo1.maven.org/maven2/

关于java - 无法解析项目 org.openjdk.jmh :jmh-core:jar:1. 21 的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55607083/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com