Java 在Maven POM中禁用分发管理
我试图在我的Liferay portlet上使用maven运行一个Java 在Maven POM中禁用分发管理,java,maven,tomcat,liferay,maven-deploy-plugin,Java,Maven,Tomcat,Liferay,Maven Deploy Plugin,我试图在我的Liferay portlet上使用maven运行一个mvn部署目标,但出现以下错误 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8. 2:deploy (default-deploy) on project MyPortlet: Deployment failed: repository eleme nt was not specified in the POM insi
mvn部署
目标,但出现以下错误
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.
2:deploy (default-deploy) on project MyPortlet: Deployment failed: repository eleme
nt was not specified in the POM inside distributionManagement element or in -Dal
tDeploymentRepository=id::layout::url parameter -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal o
rg.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on pro
ject RiskID: Deployment failed: repository element was not specified in the POM
inside distributionManagement element or in -DaltDeploymentRepository=id::layout
我知道如果在pom.xml中不包含
标记,将返回此错误,但是我不希望将其打包到远程位置,而是希望部署到本地tomcat实例;这可以配置吗?错误不是关于dependencyManagement
而是关于distributionManagement
部署失败:存储库eleme
nt未在distributionManagement
元素内的POM中或-DaltDeploymentRepository=id::layout::url
参数中指定
另一种选择(如果您不想将其放在pom.xml
文件中)也可以通过使用以下选项提供:
指定项目构件应部署到的替代存储库(在
中指定的存储库除外)。
格式:id::layout::url
第一个元素,即id
,必须与设置.xml
文件中定义的服务器
匹配(在该文件中指定用于特定服务器的凭据)
然后,布局和url特定于目标存储库
然后,您可以通过以下方式调用该命令:
mvn deploy -DaltDeploymentRepository=test:Maven2:http://somewhere:someport
其中,test
是应用程序中元素的id
配置您的设置.xml
将以下内容添加到Maven
settings.xmlservers
部分:
<server>
<username>maven</username>
<password>maven</password>
<id>tomcat8</id>
</server>
请注意与我们在Maven设置中实际指定的内容相匹配的凭据
试试看
然后,您最终可以从命令行调用:
mvn tomcat7:deploy
如果不想配置settings.xml
或pom.xml
,则需要通过命令行传递几个参数,如下所示:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcat8</server>
<path>/${project.build.finalName}</path>
</configuration>
</plugin>
mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy \
-Durl=http://localhost:8080/manager/text \
-Dusername=maven -Dpassword=maven
注意:\
和为便于阅读而添加的换行符
查看其目标的官方文档上的完整选项列表。谢谢@A_Di-Matteo,但我不想部署到任何远程服务器,而是想部署到本地tomcat实例。@KuraiBankusu那么你应该指定它:)默认情况下,部署
阶段不适用于此,因此,您需要使用tomcat7 maven插件
,而不是maven部署插件
@KuraiBankusu检查我的更新,我想说,这足以让您对该主题有更多的了解和急救。希望能有帮助
mvn tomcat7:deploy
mvn org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy \
-Durl=http://localhost:8080/manager/text \
-Dusername=maven -Dpassword=maven