J'utilise maven 3.0.3 et j'ai essayé de générer du pom pour un pot tiers comme celui-ci:
mvn install: fichier-install -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.xml approprié et installer un artefact dans le référentiel. http://maven.Apache.org/plugins/maven-install-plugin/examples/generic-pom-generation.html
Pendant ce temps, il renvoie une telle erreur:
[ERREUR] L'objectif que vous avez spécifié nécessite l'exécution d'un projet mais il n'y a pas de POM dans ce répertoire (D:\Cobra-0.98.4\lib). Veuillez vérifier que vous avez appelé Maven à partir du bon répertoire. -> [Aide 1]
Pourquoi demande-t-il pom.xml alors qu'il devrait générer pom.xml?
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 pense 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 pot a été installé dans le dépôt local sous com/whatever
.
Cela m'a amené à expérimenter la citation d'arguments de ligne de commande et le résultat correct final 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"
Une partie de la citation est sans doute redondante, mais mieux vaut prévenir que guérir, non? Il se trouve que j'exécute Vista sur cet ordinateur et je ne serais pas surpris si ce problème était spécifique à cette version du système d'exploitation ... d'ailleurs, c'était avec Maven v3.0.4.
Êtes-vous sûr d'exécuter le install-file
objectif? J'ai vérifié votre commande et cela fonctionne pour moi, mais lorsque je place un _ install :install-file
(peut-être que vous avez cette faute de frappe) l'objectif install
serait utilisé, ce qui nécessite 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 simple pom.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 config:
$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 exécutez la commande cmd avant la commande mvn
allez simplement dans le répertoire de votre projet où vous pouvez trouver votre fichier pom.xml puis exécutez la même commande! ça marche pour moi ;)
Cela a fonctionné pour moi lorsque j'ai changé Powershell en Cygwin. Powershell analyse de façon ou d'autre incorrecte l'argument de ligne de commande.
Si vous rencontrez des problèmes avec la version en ligne de commande de Maven, vous voudrez peut-être essayer le plugin M2E pour Eclipse. Il est beaucoup plus convivial pour les personnes n'ayant pas beaucoup d'expérience avec Maven.