web-dev-qa-db-fra.com

Netbeans Maven n'a pas pu exécuter l'objectif sur le projet

Je travaille sur un Java actuellement, mon problème est un peu étrange car hier mon code fonctionnait bien puis soudainement aujourd'hui quand j'essaye de construire et de tester mon code, j'obtiens cette erreur:

Failed to execute goal on project extraportGlobalSearch: Could not resolve dependencies for project com.api:extraportGlobalSearch:jar:1.0: Failed to collect dependencies for [org.glassfish.jersey.containers:jersey-container-grizzly2-http:jar:2.27 (compile), org.glassfish.jersey.inject:jersey-hk2:jar:2.27 (compile), junit:junit:jar:4.9 (test), com.googlecode.json-simple:json-simple:jar:1.1.1 (compile), com.fasterxml.jackson.core:jackson-annotations:jar:2.5.4 (compile), javax.servlet:javax.servlet-api:jar:3.0.1 (compile), com.google.zxing:core:jar:3.3.3 (compile), com.fasterxml.jackson.core:jackson-databind:jar:2.5.4 (compile), Oracle:ojdbc:jar:11.2.0.4 (compile), org.glassfish.grizzly:grizzly-http-server:jar:2.4.0 (compile)]: Failed to read artifact descriptor for Oracle:ojdbc:jar:11.2.0.4: Could not transfer artifact Oracle:ojdbc:pom:11.2.0.4 from/to central (http://repo.maven.Apache.org/maven2): Failed to transfer file: http://repo.maven.Apache.org/maven2/Oracle/ojdbc/11.2.0.4/ojdbc-11.2.0.4.pom. Return code is: 501 , ReasonPhrase:HTTPS Required. -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/DependencyResolutionException

J'ai essayé d'ajouter un autre dépôt en utilisant https://repo.maven.Apache.org/maven2/ url dans mon pom.xml mais l'erreur persiste. J'ai essayé de résoudre ce problème au cours des 5 dernières heures, ce serait formidable si quelqu'un pouvait m'aider, voici mon pom.xml:

<project xmlns="https://maven.Apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://maven.Apache.org/POM/4.0.0 https://maven.Apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>com.api </groupId>
    <artifactId>extraportGlobalSearch</artifactId>
    <packaging>jar</packaging>
    <version>1.0</version>
    <name>extraportGlobalSearch</name>

    <repositories>
      <repository>
        <id>Apache2-https</id>
        <name>Apache 2 https</name>
        <url>https://repo.maven.Apache.org/maven2/</url>
      </repository>
    </repositories>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.glassfish.jersey</groupId>
                <artifactId>jersey-bom</artifactId>
                <version>${jersey.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-grizzly2-http</artifactId>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.inject</groupId>
            <artifactId>jersey-hk2</artifactId>
        </dependency>

        <!-- uncomment this to get JSON support:
         <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-binding</artifactId>
        </dependency>-->

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.9</version>
            <scope>test</scope>
        </dependency>
            <!-- https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple -->
    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
    </dependency>


        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.5.4</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.0.1</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.google.zxing</groupId>
            <artifactId>core</artifactId>
            <version>3.3.3</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.5.4</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>Oracle</groupId>
            <artifactId>ojdbc</artifactId>
            <version>11.2.0.4</version>
            <type>jar</type>
        </dependency>
        <dependency>
            <groupId>org.glassfish.grizzly</groupId>
            <artifactId>grizzly-http-server</artifactId>
            <version>2.4.0</version>
            <type>jar</type>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>2.4.3</version>
                <executions>
                       <!-- Run shade goal on package phase -->
                    <execution>
                        <phase>package</phase>
                        <goals>
                        <goal>shade</goal> 
                        </goals>

                <configuration>
                    <transformers>
                        <!-- add Main-Class to manifest file -->    
                      <transformer implementation="org.Apache.maven.plugins.shade.resource.ManifestResourceTransformer">             
                    <mainClass>com.api.GlobalSearch.Main</mainClass>
                       </transformer>
                   </transformers>
                </configuration>

              </execution>
           </executions>
            </plugin>
        </plugins>
    </build>

    <properties>
        <jersey.version>2.27</jersey.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

</project>

Besoin d'aide. Merci d'avance.

5
diyana najieha
<packaging>jar</packaging>
<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>
20
Cristhian Pineda

Le problème est lié au passage de maven vers https uniquement: https://blog.sonatype.com/central-repository-moving-to-https

J'ai trouvé que mon problème était que Netbeans (8.2) était configuré pour utiliser l'exécutable maven fourni (3.0.5). Cette version de maven est obsolète et n'atteint pas automatiquement le repo https.

J'ai une version plus récente installée (Apache Maven 3.5.4 (Red Hat 3.5.4-5)) qui fonctionnait en exécutant mvn clean install dans le répertoire de mon projet.

Pour que Netbeans utilise une version différente de maven, vous pouvez aller dans Outils-> Options-> Java-> Maven et dans Maven Home indique l'emplacement de votre installation maven. Pour moi, c'était /usr/bin/mvn et j'ai dû définir le chemin comme juste /usr car il semble que Netbeans s'attend à trouver un répertoire nommé bin contenant le mvn exécutable.

De plus, en ce qui concerne les référentiels mobiles maven, pour certaines anciennes dépendances, j'ai dû utiliser le point de terminaison now insecure dans ma configuration maven:

        <pluginRepository>
            <id>Codehaus repository</id>
            <url>http://insecure.repo1.maven.org/maven2/</url>
        </pluginRepository> 

Il suffit d'ajouter ceci au cas où cela serait utile à quiconque.

10
Arch

Alors que les autres réponses vous donnent des solutions de contournement en configurant manuellement le référentiel ou une version plus récente de Maven, la véritable source du problème est que Netbeans (8.2) est devenu obsolète et n'est plus mis à jour, vous feriez mieux de migrer vers Apache Netbeans ( actuellement à la version 11.3).

0
jmd

J'ai résolu le problème en mettant à jour vers la dernière version de maven, il a commencé à utiliser https au lieu de http pour télécharger tous les deps.

0
diyana najieha