Pedidos de http://repo1.maven.org/maven2 / return a 501 HTTPS Required status and a body [duplicate]
a partir de 15 de janeiro de 2020, recebo as seguintes respostas ao fazer pedidos ao repositório Central:
Requests to http://repo1.maven.org/maven2/ return a 501 HTTPS Required status and a body:
501 HTTPS Required.
Use https://repo1.maven.org/maven2/
More information at https://links.sonatype.com/central/501-https-required
Requests to http://repo.maven.apache.org/maven2/ return a 501 HTTPS Required status and a body:
501 HTTPS Required.
Use https://repo.maven.apache.org/maven2/
More information at https://links.sonatype.com/central/501-https-required
Como posso satisfazer este requisito para poder recuperar o acesso à Central?
Tenho este erro na consola.
[INFO] Scanning for projects...
[INFO]
[INFO] ----------------------------< >----------------------------
[INFO] Building demo 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Downloading from : http://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/3.12.0/mongo-java-driver-3.12.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 11.136 s
[INFO] Finished at: 2020-01-16T15:27:53+05:30
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project demo: Could not resolve dependencies for project com.tcs:demo:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at org.mongodb:mongo-java-driver:jar:3.12.0: Failed to read artifact descriptor for org.mongodb:mongo-java-driver:jar:3.12.0: Could not transfer artifact org.mongodb:mongo-java-driver:pom:3.12.0 from/to central (http://repo1.maven.org/maven2/): Failed to transfer http://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/3.12.0/mongo-java-driver-3.12.0.pom. Error code 501, HTTPS Required -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace ``of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
e usar o 'plugin' do site:
[erro] não foi possível executar goal org.Apache.maven.plugins:maven-site-plugin:2.2: site (default-site) no projecto my-proj: Sitetoolexcepção: o descritor do site não pode ser resolvido a partir do repositório: Artifactresoluçãexcepção: incapaz de Localizar descritor do site: incapaz de transferir artefacto org.x. y: nome: xml: site_pt: 3.5.1.b550 de / para central (http://repo1.maven.org/maven2 : a transferência falhou para http://repo1.maven.org/maven2/org/x/y/3.5.1.b550/name-3.5.1.b550-site_en.xml 501 HTTPS Necessário
5 answers
A partir de 15 de janeiro de 2020, o repositório Central já não suporta comunicação insegura sobre HTTP simples e requer que todos os pedidos para o repositório sejam criptografados através de HTTPS.
Se está a receber este erro, então precisa de substituir todas as referências de URL ao Maven Central pelas suas contrapartidas canónicas de HTTPS:
Substitua http://repo1.maven.org/maven2/ com https://repo1.maven.org/maven2/
Substituir http://repo.maven.apache.org/maven2/ com https://repo.maven.apache.org/maven2/
Se, por qualquer razão, o seu ambiente não puder suportar HTTPS, tem a opção de usar o nosso objectivo inseguro dedicado a http://insecure.repo1.maven.org/maven2/
Para mais um contexto em torno da mudança para HTTPS, por favor Veja https://blog.sonatype.com/central-repository-moving-to-https.
Eu fixei com os seguintes passos, mas ele usa http: 1) got to .pasta m2 2) Criar configurações de arquivos.xml 3) copiar a pasta abaixo de
<settings>
<mirrors>
<mirror>
<id>centralhttps</id>
<mirrorOf>central</mirrorOf>
<name>Maven central https</name>
<url>http://insecure.repo1.maven.org/maven2/</url>
</mirror>
</mirrors>
</settings>
Tenha cuidado com o facto de o seu pom pai poder (re) definir repositórios também, e se tiver sobreposto o http central e especificado por qualquer razão, terá de corrigir isso (por isso, os locais para corrigir: ~/.m2 / configuração.xml E também pai poms).
Se não o conseguir corrigir no pom pai, poderá substituir o repo do pom Pai, assim, no pom filho (extraído do 3. 6. 3 por omissão } super pom , parece que também mudaram o nome do repo1):
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url> <!-- the https you've been looking for -->
<layout>default</layout>
<snapshots>
<enabled>false</enabled> <!-- or set to false if desired, default is true https://stackoverflow.com/a/61684539/32453 -->
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>central</id>
<name>Central Repository</name>
<url>https://repo.maven.apache.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
Também terá de indicar os repositórios em: Configuração MAVEN\conf\.xml
<mirrors>
<mirror>
<id>other-mirror</id>
<mirrorOf>central</mirrorOf>
<name>Other Mirror Repository</name>
<url>http://insecure.repo1.maven.org/maven2/</url>
</mirror>
<mirror>
<id>internal-repository</id>
<name>Maven Repository Manager running on https://repo1.maven.org/maven2</name>
<url>https://repo1.maven.org/maven2</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
Para que saibas, para os utilizadores de grelhas, basta usar,
repositories {
maven {
url = 'https://repo.maven.apache.org/maven2'
}
}