Maven générer un fichier pom
J'utilise maven 3.0.3 et j'ai essayé de générer pom pour jar tiers comme ceci:
Mvn install: install-file-Dfile = cobra.jar-DgroupId = com.cobra -DartifactId = cobra-Dversion=0.98.4-Dpackaging=jar-DgeneratePom=true
Selon le lien ci-dessous, il devrait générer un pom approprié.xml et installer artefact dans le repo. http://maven.apache.org/plugins/maven-install-plugin/examples/generic-pom-generation.html
Pendant ce temps, il renvoie un tel erreur:
[ERROR] l'objectif que vous avez spécifié nécessite l'exécution d'un projet N'y a pas de POM dans ce répertoire (D:cobra-0.98.4lib). Veuillez vérifier que vous invoqué Maven à partir du répertoire correct. -> [Aide 1]
Pourquoi demande-t-il pom.xml alors qu'il devrait générer pom.xml?
7 réponses
C'est une vieille question, mais c'était un PITA sérieux pour moi pendant quelques minutes, alors j'ai pensé partager:
Je viens de rencontrer ce problème, et je crois que le problème dépend probablement de la plate-forme. Le vrai conseil était que la solution de la réponse de Cyril ne fonctionnait pas comme prévu: malgré ma spécification de -DgroupId=com.xyz
et -DartifactId=whatever
sur la ligne de commande et l'entrée correspondante dans le fichier POM, le jar a été installé dans le repo local sous com/whatever
.
Cela m'a conduit à expérimenter avec citant des arguments de ligne de commande, et le résultat correct éventuel du formatage de la ligne de commande comme ceci (après la suppression du fichier POM):
mvn install:install-file "-Dfile=cobra.jar" "-DgroupId=com.cobra" "-DartifactId=cobra" "-Dversion=0.98.4" "-Dpackaging=jar" "-DgeneratePom=true"
Certaines citations sont sans doute redondantes, mais mieux vaut être sûr que Désolé, n'est-ce pas? Je cours Vista sur cet ordinateur, et je ne serais pas surpris si ce problème était spécifique à ce système D'exploitation version...by le chemin, ce fut avec Maven v3. 0. 4.
Êtes-vous sûr que vous exécutez l'objectif install-file
? J'ai vérifié votre commande et cela fonctionne pour moi, mais quand je place un install :install-file
vide (peut-être que vous avez cette faute de frappe) le but install
serait utilisé qui a besoin d'un pom.XML.
Essayez d'utiliser le -X
paramètre pour obtenir plus d'informations de débogage:
-X,--debug Produce execution debug output
Mon système
Maven
c:\>mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)
Maven home: C:\progs\apache-maven-3.0.3
Java version: 1.6.0_21, vendor: Sun Microsystems Inc.
Java home: c:\Program Files (x86)\Java\jdk1.6.0_21\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"
Installer Le Plugin
c:\>mvn -Dplugin=install help:describe
Name: Maven Install Plugin
Description: Copies the project artifacts to the user's local repository.
Group Id: org.apache.maven.plugins
Artifact Id: maven-install-plugin
Version: 2.3.1
Goal Prefix: install
This plugin has 3 goals:
install:help
Description: Display help information on maven-install-plugin.
Call
mvn install:help -Ddetail=true -Dgoal=<goal-name>
to display parameter details.
install:install
Description: Installs the project's main artifact in the local repository.
install:install-file
Description: Installs a file in the local repository.
For more information, run 'mvn help:describe [...] -Ddetail'
J'ai trouvé une dérivation. Vous devez créer un pom simple.xml comme ceci :
<project 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>com.cobra</groupId>
<artifactId>cobra</artifactId>
<version>0.98.4</version>
</project>
Ce n'est pas parfait mais ça a marché pour moi. Si vous trouvez une meilleure façon de le faire, je suis intéressé.
MA configuration:
$mvn -version
Apache Maven 3.0.3 (r1075438; 2011-02-28 18:31:09+0100)
Maven home: /usr/local/maven
Java version: 1.6.0_20, vendor: Sun Microsystems Inc.
Java home: /usr/local/jdk1.6.0_20/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "2.6.32-25-generic-pae", arch: "i386", family: "unix"
$mvn -Dplugin=install help:describe
...
Name: Maven Install Plugin
Description: Copies the project artifacts to the user's local repository.
Group Id: org.apache.maven.plugins
Artifact Id: maven-install-plugin
Version: 2.3.1
Goal Prefix: install
...
Essayez de l'exécuter sur cmd.exe ou excute commande cmd avant la commande mvn
Allez simplement dans le répertoire de votre projet où vous pouvez trouver votre pom.fichier xml puis exécutez la même commande ! cela fonctionne pour moi;)
Si vous rencontrez des problèmes avec la version en ligne de commande de Maven, vous pouvez essayer le plugin M2E pour eclipse. Il est beaucoup plus convivial pour les personnes sans beaucoup d'expérience avec Maven.
Cela a fonctionné pour moi quand J'ai changé Powershell en Cygwin. Powershell analyse incorrectement l'argument de la ligne de commande.