我偶然发现了 openrewrite,认为它很有趣而且很有用。因此,我按照其他人所做的进行了必要的配置。我尝试dryRun它,在pom解析期间出现以下错误:
[WARNING] Failed to access maven repository http://snapshots.repository.codehaus.org
java.net.UnknownHostException: snapshots.repository.codehaus.org
at sun.nio.ch.NioSocketImpl.connect (NioSocketImpl.java:567)
at java.net.SocksSocketImpl.connect (SocksSocketImpl.java:327)
at java.net.Socket.connect (Socket.java:751)
at sun.security.ssl.SSLSocketImpl.connect (SSLSocketImpl.java:304)
at sun.net.NetworkClient.doConnect (NetworkClient.java:178)
at sun.net.www.http.HttpClient.openServer (HttpClient.java:531)
at sun.net.www.http.HttpClient.openServer (HttpClient.java:636)
at sun.net.www.protocol.https.HttpsClient.<init> (HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New (HttpsClient.java:377)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient (AbstractDelegateHttpsURLConnection.java:193)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0 (HttpURLConnection.java:1237)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect (HttpURLConnection.java:1123)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect (AbstractDelegateHttpsURLConnection.java:179)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0 (HttpURLConnection.java:1675)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream (HttpURLConnection.java:1599)
at java.net.HttpURLConnection.getResponseCode (HttpURLConnection.java:531)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode (HttpsURLConnectionImpl.java:307)
at org.openrewrite.ipc.http.HttpUrlConnectionSender.send (HttpUrlConnectionSender.java:97)
at org.openrewrite.maven.internal.MavenPomDownloader.lambda$sendRequest$1 (MavenPomDownloader.java:146)
at dev.failsafe.Functions.lambda$toCtxSupplier$11 (Functions.java:243)
at dev.failsafe.Functions.lambda$get$0 (Functions.java:46)
at dev.failsafe.internal.RetryPolicyExecutor.lambda$apply$0 (RetryPolicyExecutor.java:74)
at dev.failsafe.SyncExecutionImpl.executeSync (SyncExecutionImpl.java:187)
at dev.failsafe.FailsafeExecutor.call (FailsafeExecutor.java:376)
at dev.failsafe.FailsafeExecutor.get (FailsafeExecutor.java:112)
at org.openrewrite.maven.internal.MavenPomDownloader.sendRequest (MavenPomDownloader.java:145)
at org.openrewrite.maven.internal.MavenPomDownloader.normalizeRepository (MavenPomDownloader.java:752)
at org.openrewrite.maven.internal.MavenPomDownloader.distinctNormalizedRepositories (MavenPomDownloader.java:674)
at org.openrewrite.maven.internal.MavenPomDownloader.download (MavenPomDownloader.java:511)
at org.openrewrite.maven.tree.ResolvedPom$Resolver.resolveParentPom (ResolvedPom.java:497)
at org.openrewrite.maven.tree.ResolvedPom$Resolver.resolveParentDependenciesRecursively (ResolvedPom.java:432)
at org.openrewrite.maven.tree.ResolvedPom$Resolver.resolveParentsRecursively (ResolvedPom.java:380)
at org.openrewrite.maven.tree.ResolvedPom.resolveDependencies (ResolvedPom.java:889)
at org.openrewrite.maven.tree.ResolvedPom.resolveDependencies (ResolvedPom.java:805)
at org.openrewrite.maven.tree.MavenResolutionResult.resolveDependencies (MavenResolutionResult.java:174)
at org.openrewrite.maven.MavenParser.parseInputs (MavenParser.java:116)
at org.openrewrite.Parser.parse (Parser.java:59)
at org.openrewrite.maven.MavenMojoProjectParser.parseMaven (MavenMojoProjectParser.java:557)
at org.openrewrite.maven.MavenMojoProjectParser.listSourceFiles (MavenMojoProjectParser.java:149)
at org.openrewrite.maven.AbstractRewriteMojo.loadSourceSet (AbstractRewriteMojo.java:258)
at org.openrewrite.maven.AbstractRewriteMojo.listResults (AbstractRewriteMojo.java:240)
at org.openrewrite.maven.AbstractRewriteDryRunMojo.execute (AbstractRewriteDryRunMojo.java:68)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
at java.lang.reflect.Method.invoke (Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
我不确定它在查找什么,我没有使用任何 Nexus 存储库,而且我现在了解 Maven 会阻止 http url。我按照官方网站的建议尝试使用mirrorOf:
https://oss.sonatype.org/content/repositories/snapshots
还是一样的事情。我也尝试过 dryRunning/在 IDE 之外运行配方,但没有成功。
我尝试在虚拟项目上运行它,它工作得很好。我不知道为什么它没有解决我的工作项目的 pom 。以下是我的插件设置:
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>5.29.0</version>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_2</recipe>
<recipe>org.openrewrite.java.migrate.UpgradeToJava21</recipe>
</activeRecipes>
</configuration>
<dependencies>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-java-dependencies</artifactId>
<version>1.7.0</version>
</dependency>
<dependency>
<groupId>org.openrewrite.recipe</groupId>
<artifactId>rewrite-spring</artifactId>
<version>5.8.0</version>
</dependency>
</dependencies>
</plugin>