fir*_*ren 30 pom.xml maven-3 maven
我使用maven 3.0.3并尝试为第三方jar生成pom,如下所示:
mvn install:install-file -Dfile = cobra.jar -DgroupId = com.cobra -DartifactId = cobra -Dversion = 0.98.4 -Dpackaging = jar -DgeneratePom = true
根据下面的链接,它应该生成适当的pom.xml并在repo中安装工件. http://maven.apache.org/plugins/maven-install-plugin/examples/generic-pom-generation.html
同时,它返回这样一个错误:
[错误]您指定的目标需要执行项目,但此目录中没有POM(D:\ cobra-0.98.4\lib).请验证您是否从正确的目录中调用了Maven. - > [帮助1]
为什么在生成pom.xml时要求pom.xml?
Kei*_*yne 81
这是一个老问题,但对我来说是一个严重的PITA几分钟,所以我想我会分享:
我刚遇到这个问题,我相信这个问题可能与平台有关.真正的暗语是从西里尔的答案溶液未按预期:尽管我的规范-DgroupId=com.xyz
,并-DartifactId=whatever
在命令行,并在POM文件中的相应条目,罐子被安装在根据本地回购com/whatever
.
这使我使用引号命令行参数,并从格式化的命令行像这样(删除POM文件后)最终正确的结果实验:
mvn install:install-file "-Dfile=cobra.jar" "-DgroupId=com.cobra" "-DartifactId=cobra" "-Dversion=0.98.4" "-Dpackaging=jar" "-DgeneratePom=true"
Run Code Online (Sandbox Code Playgroud)
一些引用无疑是多余的,但比抱歉更安全,对吧?我碰巧在这台电脑上运行Vista,如果这个问题特定于这个操作系统版本,也不会感到惊讶......顺便说一句,这是Maven v3.0.4.
你确定你正在执行install-file
目标吗?我检查了你的命令,它适用于我,但是当我放置一个空白install :install-file
(也许你有这个错字)时,install
将使用需要pom.xml 的目标.
尝试使用该-X
参数来获取更多调试信息:
-X,--debug Produce execution debug output
Run Code Online (Sandbox Code Playgroud)
我的系统
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"
Run Code Online (Sandbox Code Playgroud)
安装插件
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'
Run Code Online (Sandbox Code Playgroud)
我找到了一条旁路。您需要创建一个简单的 pom.xml,如下所示:
<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>
Run Code Online (Sandbox Code Playgroud)
它并不完美,但对我有用。如果您找到更好的方法来做到这一点,我很感兴趣。
我的配置:
$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
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
79598 次 |
最近记录: |