Je crée un nouveau projet Maven avec pom.xml
comme ci-dessous: -
<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>firstRestlet</groupId>
<artifactId>restlet1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>restlet1</name>
<url>http://maven.Apache.org</url>
<repositories>
<repository>
<id>maven-restlet</id>
<name>Public online Restlet repository</name>
<url>http://maven.restlet.org</url>
</repository>
</repositories>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Le problème auquel je suis confronté est que le fichier war cible n'est pas généré . Sur la console Eclipse après avoir exécuté ce pom.xml
, ce que j'ai trouvé manquait d'objectifs dans pom.xml
.
MESSAGE CONSOLE Eclipse:
No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]
[ERROR]
S'il vous plaît dites-moi comment spécifier les objectifs dans pom.xml
.
Dites-moi également comment créer un projet RESTLET en utilisant maven comme outil de génération.
Merci et salutations
Le message d'erreur que vous avez spécifié n'est rien, mais vous ne spécifiez pas d'objectif pour maven build.
vous pouvez spécifier n'importe quel objectif dans votre configuration d'exécution pour maven build, tel que clear, compile, install, package.
veuillez suivre les étapes ci-dessous pour le résoudre.
Je suis tombé sur cette question parce que je voulais en fait définir un objectif par défaut dans pom.xml. Vous pouvez définir un objectif par défaut sous build:
<build>
<defaultGoal>install</defaultGoal>
...
</build>
Après ce changement, vous pouvez simplement exécuter mvn
qui fera exactement la même chose que mvn install
.
Remarque: je ne privilégie pas cette approche par défaut. Mon cas d'utilisation consistait à définir un profil qui téléchargeait une version précédente de ce projet à partir d'Artifactory et souhaitait lier ce profil à une phase donnée. Pour plus de commodité, je peux exécuter mvn -Pdownload-jar -Dversion=0.0.9
sans avoir à spécifier un objectif/une phase. Je pense qu'il est raisonnable de définir une defaultGoal
dans un profil ayant une fonction très spécifique pour une phase donnée.
Vous devriez toujours donner un argument à votre commande maven. C'est normalement l'un des cycles de vie. Par exemple:
mvn package
Le paquet créera des pots, des guerres, des oreilles, etc.
Pour plus de phases et leur signification, voir: http://maven.Apache.org/guides/introduction/introduction-to-the-lifecycle.html
1 . Clic droit sur votre projet.
2 . Cliquez sur 'Run as' et sélectionnez 'Maven Build'
3 . La fenêtre d'édition de configuration s'ouvre. écrivez n'importe quel objectif mais écrivez le «paquet» spécifique à votre problème dans Goal
4 user settings: affichez votre maven-> directory-> conf-> settings.xml Par exemple; C:\maven\conf\settings.xml
mvn clean install
Ajouter le but comme -
<build>
<defaultGoal>install</defaultGoal>
<!-- Source directory configuration -->
<sourceDirectory>src</sourceDirectory>
</build>
Cela résoudra le problème
si vous utilisez Eclipse Assurez-vous que votre bibliothèque JRE sous BUILT PATH pointe vers le dossier JDK plutôt que le jre. Si vous utilisez Java 7, vous devez créer un fichier setting.xml et configurer le proxy pour autoriser la requête sous dossier .m2; Cependant, si vous avez utilisé Java 8 jdk, vous devriez être trouvé.