Java 无法在project inv project上执行目标org.codehaus.mojo:rpm maven插件:2.0.1:rpm(默认cli)
我在创建Maven项目的RPM时遇到以下错误 我能够成功地打包Jar,但RPM创建失败 注意:我正在Windows 7上试用Java 无法在project inv project上执行目标org.codehaus.mojo:rpm maven插件:2.0.1:rpm(默认cli),java,maven,rpm-maven-plugin,Java,Maven,Rpm Maven Plugin,我在创建Maven项目的RPM时遇到以下错误 我能够成功地打包Jar,但RPM创建失败 注意:我正在Windows 7上试用 [WARNING] operable program or batch file. [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] -------------------------------------
[WARNING] operable program or batch file.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 42.696 s
[INFO] Finished at: 2014-10-08T15:06:40+05:30
[INFO] Final Memory: 23M/228M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:rpm-maven-plugin:2.0.1:rpm (default-cli) on project inv_project: RPM query for default vendor returned: '1' executing 'cmd.exe /X /C "rpm -E %{_host_vendor}"' -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:rpm-maven-plugin:2.0.1:rpm (default-cli) on project inv_project: RPM query for default vendor returned: '1' executing 'cmd.exe /X /C "rpm -E %{_host_vendor}"'
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
Caused by: org.apache.maven.plugin.MojoExecutionException: RPM query for default vendor returned: '1' executing 'cmd.exe /X /C "rpm -E %{_host_vendor}"'
at org.codehaus.mojo.rpm.RPMHelper.getHostVendor(RPMHelper.java:76)
at org.codehaus.mojo.rpm.AbstractRPMMojo.checkParams(AbstractRPMMojo.java:892)
at org.codehaus.mojo.rpm.AbstractRPMMojo.execute(AbstractRPMMojo.java:714)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
... 19 more
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
下面是我正在使用的pom.xml
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.0.1</version>
<executions>
<execution>
<phase>install</phase>
<goals><goal>rpm</goal></goals>
</execution>
</executions>
<configuration>
<group>Applications/Programming</group>
<filemode>755</filemode>
<copyright>LGPL</copyright>
<mappings>
<mapping>
<directory>target/</directory>
<sources>
<source><location>lib/</location></source>
</sources>
</mapping>
</mappings>
</configuration>
</plugin>
org.codehaus.mojo
rpm maven插件
2.0.1
安装
转速
应用程序/编程
755
LGPL
目标/
解放党/
让我知道这里缺少什么?rpm maven插件只调用操作系统
rpm
命令,因此您需要在有这些命令的RedHat或CentOS上运行它。此插件不会在其他操作系统上执行任何操作。在windows上安装cygwin后,上述问题已得到解决,请关闭此帖子
但即使是现在,rpm也没有生成。
我将结束这次讨论,并开始一次新的讨论,讨论新问题
您需要有rpm命令。不同的操作系统可能有不同的安装方式。Cygwin是在windows中使用它的一种方法。我在Ubuntu中遇到了同样的问题,并通过以下方式解决了它:
sudo apt install rpm
因此,根据操作系统/发行版的不同,您可能有不同的安装RPM的方法,这可能是相关的?第一个建议是使用最新版本的。此外,为什么不在适当的平台(如Linux)而不是Windows 7上创建RPM呢?我现在可以通过安装cygwin来克服这个问题。但是现在,即使构建成功,我也没有看到在目标目录rpm文件夹下生成.rpm文件。我是rpm World的新手,现在我已经在我的机器上安装了cygwin,并运行以下命令生成rpm“mvn clean package rpm:rpm”,请任何人指导我。现在构建成功了,在targetdir中,创建了一个名为rpm的新文件夹,其中包含我需要的所有必要文件。但是同样没有生成.rpm文件。如果从Cygwin bash shell运行
rpm
,会发生什么?这正是插件所做的。在我得到rpm的点击时,rpm版本4.11.1版权(C)1998-2002-Red Hat,Inc.此程序可以根据GNU GPL使用条款自由重新发布:rpm[-afgpcdLlsiv?][-a |--all][f |--file][g |--group][p |--package][-pkgid][-hdrid triggeredby][-triggeredby][-whatrequires][-whatprovides][--nomanifest][c |--configfiles][d |--docfiles][L |--licensefiles][--dump][L |--list][--queryformat=queryformat][s |--state][--nofiledigest][--nofiles][--noscript nodeps][--allfiles][--allmatches][--badreloc][e |--erase=+[--excludeddocs]甚至我在Ubuntu上也面临同样的错误。但是我已经安装了rpm。版本是rpm版本4.14.2.1。你知道如何解决这个问题吗?