由于Maven中央存储库已移至https,因此无法构建grails 2.3.7项目 [英] Not able to build grails 2.3.7 project since the maven central repository has moved to https

查看:434
本文介绍了由于Maven中央存储库已移至https,因此无法构建grails 2.3.7项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于maven中央存储库已移至https,所以我无法构建2.3.7 grails项目. 我尝试了这篇文章的建议:

I am not able to build my 2.3.7 grails projects since the maven central repository has moved to https. I tried the recommandations on this post : Requests to http://repo1.maven.org/maven2/ return a 501 HTTPS Required status and a body

但是我仍然有一个问题,因为Maven回购代码编码在框架jars(grails-aether-2.3.7-sources.jar)中 该类为 org.codehaus.groovy.grails.resolve.maven.aether.config.RepositoriesConfinguration.groovy .

However I'am still having an issue because the maven repo is coded in the framework jars ( grails-aether-2.3.7-sources.jar ) The class is org.codehaus.groovy.grails.resolve.maven.aether.config.RepositoriesConfinguration.groovy.

RemoteRepository mavenCentral(Closure configurer = null) {
    final existing = repositories.find { ArtifactRepository ar -> ar.id == "mavenCentral" }
    if (!existing) {
        final repositoryBuilder = new RemoteRepository.Builder("mavenCentral", "default", "http://repo1.maven.org/maven2/")

        configureRepository(repositoryBuilder, configurer)
        final repository = repositoryBuilder.build()
        repositories << repository
        return repository
    }
    else {
        return existing
    }
}

此文件为只读文件.

如何解决此问题?由于多种原因,我无法将项目迁移到新的Grails版本. 这是我得到的错误.

How can I fix this issue? I cannot migrate the project to a new Grails version for several reasons. This is the error I got.

16:14:10 +/opt/grails-2.3.7/bin/grails --stacktrace clean 16:14:13 | 正在加载Grails 2.3.7 16:14:17 |配置类路径16:14:20 |错误 解决获取相关性错误:无法读取工件 xalan:serializer:jar:2.7.1的描述符(注意:堆栈跟踪已被 过滤.使用--verbose查看整个轨迹.)16:14:20 org.eclipse.aether.resolution.ArtifactDescriptorException:失败 读取xalan:serializer:jar:2.7.1 16:14:20的工件描述符 org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:335) 16:14:20在 org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:217) 16:14:20在 org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:466) 16:14:20在 org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:261) 16:14:20在 org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:317) 16:14:20在 grails.util.BuildSettings.doResolve(BuildSettings.groovy:513)16:14:20 在grails.util.BuildSettings.doResolve(BuildSettings.groovy)16:14:20 在 grails.util.BuildSettings $ _getDefaultBuildDependencies_closure17.doCall(BuildSettings.groovy:774) 16:14:20在 grails.util.BuildSettings $ _getDefaultBuildDependencies_closure17.doCall(BuildSettings.groovy) 16:14:20在 grails.util.BuildSettings.getDefaultBuildDependencies(BuildSettings.groovy:768) 16:14:20在 grails.util.BuildSettings.getBuildDependencies(BuildSettings.groovy:673) 16:14:20由以下原因引起: org.eclipse.aether.resolution.ArtifactResolutionException:无法 从/到mavenCentral传输工件xalan:serializer:pom:2.7.1 ( http://repo1.maven.org/maven2/):需要HTTPS(501)16 :14:20于 org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:460) 16:14:20在 org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:262) 16:14:20在 org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:239) 16:14:20在 org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:320) 16:14:20 ... 10更多16:14:20由: org.eclipse.aether.transfer.ArtifactTransferException:无法 从/到mavenCentral传输工件xalan:serializer:pom:2.7.1 ( http://repo1.maven.org/maven2/):需要HTTPS(501)16 :14:20于 org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:43) 16:14:20在 org.eclipse.aether.connector.basic.BasicRepositoryConnector $ TaskRunner.run(BasicRepositoryConnector.java:342) 16:14:20在 org.eclipse.aether.util.concurrency.RunnableErrorForwarder $ 1.run(RunnableErrorForwarder.java:67) 16:14:20在 org.eclipse.aether.connector.basic.BasicRepositoryConnector $ DirectExecutor.execute(BasicRepositoryConnector.java:649) 16:14:20在 org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:247) 16:14:20在 org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:536) 16:14:20在 org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:437) 16:14:20 ... 13另外16:14:20由以下原因引起: org.apache.http.client.HttpResponseException:需要HTTPS(501) 16:14:20在 org.eclipse.aether.transport.http.HttpTransporter.handleStatus(HttpTransporter.java:404) 16:14:20在 org.eclipse.aether.transport.http.HttpTransporter.execute(HttpTransporter.java:298) 16:14:20在 org.eclipse.aether.transport.http.HttpTransporter.implGet(HttpTransporter.java:250) 16:14:20在 org.eclipse.aether.spi.connector.transport.AbstractTransporter.get(AbstractTransporter.java:59) 16:14:20在 org.eclipse.aether.connector.basic.BasicRepositoryConnector $ GetTaskRunner.runTask(BasicRepositoryConnector.java:418) 16:14:20在 org.eclipse.aether.connector.basic.BasicRepositoryConnector $ TaskRunner.run(BasicRepositoryConnector.java:337) 16:14:20 ...还有18个

16:14:10 + /opt/grails-2.3.7/bin/grails --stacktrace clean 16:14:13 | Loading Grails 2.3.7 16:14:17 | Configuring classpath 16:14:20 | Error Resolve error obtaining dependencies: Failed to read artifact descriptor for xalan:serializer:jar:2.7.1 (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.) 16:14:20 org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for xalan:serializer:jar:2.7.1 16:14:20 at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:335) 16:14:20 at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.readArtifactDescriptor(DefaultArtifactDescriptorReader.java:217) 16:14:20 at org.eclipse.aether.internal.impl.DefaultDependencyCollector.process(DefaultDependencyCollector.java:466) 16:14:20 at org.eclipse.aether.internal.impl.DefaultDependencyCollector.collectDependencies(DefaultDependencyCollector.java:261) 16:14:20 at org.eclipse.aether.internal.impl.DefaultRepositorySystem.collectDependencies(DefaultRepositorySystem.java:317) 16:14:20 at grails.util.BuildSettings.doResolve(BuildSettings.groovy:513) 16:14:20 at grails.util.BuildSettings.doResolve(BuildSettings.groovy) 16:14:20 at grails.util.BuildSettings$_getDefaultBuildDependencies_closure17.doCall(BuildSettings.groovy:774) 16:14:20 at grails.util.BuildSettings$_getDefaultBuildDependencies_closure17.doCall(BuildSettings.groovy) 16:14:20 at grails.util.BuildSettings.getDefaultBuildDependencies(BuildSettings.groovy:768) 16:14:20 at grails.util.BuildSettings.getBuildDependencies(BuildSettings.groovy:673) 16:14:20 Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact xalan:serializer:pom:2.7.1 from/to mavenCentral (http://repo1.maven.org/maven2/ ): HTTPS Required (501) 16:14:20 at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:460) 16:14:20 at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:262) 16:14:20 at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:239) 16:14:20 at org.apache.maven.repository.internal.DefaultArtifactDescriptorReader.loadPom(DefaultArtifactDescriptorReader.java:320) 16:14:20 ... 10 more 16:14:20 Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact xalan:serializer:pom:2.7.1 from/to mavenCentral (http://repo1.maven.org/maven2/ ): HTTPS Required (501) 16:14:20 at org.eclipse.aether.connector.basic.ArtifactTransportListener.transferFailed(ArtifactTransportListener.java:43) 16:14:20 at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:342) 16:14:20 at org.eclipse.aether.util.concurrency.RunnableErrorForwarder$1.run(RunnableErrorForwarder.java:67) 16:14:20 at org.eclipse.aether.connector.basic.BasicRepositoryConnector$DirectExecutor.execute(BasicRepositoryConnector.java:649) 16:14:20 at org.eclipse.aether.connector.basic.BasicRepositoryConnector.get(BasicRepositoryConnector.java:247) 16:14:20 at org.eclipse.aether.internal.impl.DefaultArtifactResolver.performDownloads(DefaultArtifactResolver.java:536) 16:14:20 at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:437) 16:14:20 ... 13 more 16:14:20 Caused by: org.apache.http.client.HttpResponseException: HTTPS Required (501) 16:14:20 at org.eclipse.aether.transport.http.HttpTransporter.handleStatus(HttpTransporter.java:404) 16:14:20 at org.eclipse.aether.transport.http.HttpTransporter.execute(HttpTransporter.java:298) 16:14:20 at org.eclipse.aether.transport.http.HttpTransporter.implGet(HttpTransporter.java:250) 16:14:20 at org.eclipse.aether.spi.connector.transport.AbstractTransporter.get(AbstractTransporter.java:59) 16:14:20 at org.eclipse.aether.connector.basic.BasicRepositoryConnector$GetTaskRunner.runTask(BasicRepositoryConnector.java:418) 16:14:20 at org.eclipse.aether.connector.basic.BasicRepositoryConnector$TaskRunner.run(BasicRepositoryConnector.java:337) 16:14:20 ... 18 more

推荐答案

您必须在存储库下注释掉mavenCentral()并按照此处的建议添加相应的https url:

You have to comment out mavenCentral() under repositories and add corresponding https url as suggested here : https://support.sonatype.com/hc/en-us/articles/360041287334

示例:

repositories {
        inherits true // Whether to inherit repository definitions from plugins

        grailsPlugins()
        grailsHome()
        mavenLocal()
        grailsCentral()

        //comment following line to prevent use of default http url
//        mavenCentral()

        //add following https counterparts
        mavenRepo 'https://repo1.maven.org/maven2/'
        mavenRepo 'https://repo.maven.apache.org/maven2/'
        //if by any chance you can't connect to https url use this insecure url
//      mavenRepo 'http://insecure.repo1.maven.org/maven2/'

        mavenRepo 'https://repo.spring.io/milestone'
    }

我在grails 2.3.11和java 1.7.0_242上尝试过,它对我有用.希望这会有所帮助.

I tried this for grails 2.3.11 and java 1.7.0_242 and it worked for me. Hope this helps.

这篇关于由于Maven中央存储库已移至https,因此无法构建grails 2.3.7项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆