maven 部署和发布web应用
2010-09-01 20:31
295 查看
mvn是一个强大的项目管理工具,通过该工具可以实现java项目管理的自动化。
除掉mvn在项目管理中的基本功能以外,这里主要是讲一下最容易出错的web项目的自动部署和发布的问题。
在通过mvn来管理web项目的时候,可以实现自动的将web项目部署到web服务器上。
首先,通过命令行来安装web服务器,在命令行:mvn tomcat:start , mvn会自动的下载tomcat插件然后运行,
但是, 这个地方经常会报一个错误,
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.apache.maven.plugins:maven-tomcat-plugin' does not exist
or no valid version could be found
提示说maven-tomcat-plugin' 插件不存在,仔细查看一下pom文件,发现里面配置了 :
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
</plugin>
,
那为什么还报错。
仔细观察,发现mvn并没有采用pom文件里面的配置来下载tomcat-maven-plugin,而是自以为是的去下载maven-tomcat-plugin' ,关于这个问题很多帖子上都反映过,如下:
Hi,
I'm trying to use tomcat-maven-plugin from
http://mojo.codehaus.org/tomcat-maven-plugin/
But when I type mvn tomcat:deploy, i get
[INFO]
----------------------------------------------------------------------------
[INFO] Building Design Council
[INFO] task-segment: [tomcat:deploy]
[INFO]
----------------------------------------------------------------------------
[INFO] Searching repository for plugin with prefix: 'tomcat'.
[ERROR] project-execute : myapp:myapp:war:0.1.0-SNAPSHOT (
task-segment: [tomcat:deploy] )
Diagnosis: The plugin 'org.apache.maven.plugins:maven-tomcat-plugin'
does not exist or no valid version could be found
FATAL ERROR: Error executing Maven for a project
org.apache.maven.lifecycle.LifecycleExecutionExcep tion: The plugin
'*org.apache.maven.plugins:maven-tomcat-plugin*' does not exist or no
valid version could be found
But I don't even have 'maven-tomcat-plugin' configured in my pom.xml!
I've tried removing whole repository, but the problem persists. I'm just
wondering if there is a way to make maven use a specific plugin for the
shortname tomcat?
这个老外也是这样。
后来,找到一个帖子,
hey, I resolver the conflict by calling:
mvn org.codehaus.mojo:tomcat-maven-plugin:deploy
'Invalid task 'kasza': you must specify a valid lifecycle phase, or a
goal in the format plugin:goal or
*pluginGroupIdluginArtifactIdluginVersion:goal *'
知道了,可以通过指定完全限定名称来解决这个问题。
所以 只要将上面命令中的 tomcat 替换成 org.codehaus.mojo:tomcat-maven-plugin 就可以解决问题了。
这个是执行结果
;
C:/c/myartiid>mvn org.codehaus.mojo:tomcat-maven-plugin:start
[INFO] Scanning for projects...
[INFO] artifact org.codehaus.mojo:tomcat-maven-plugin: checking for updates from
central
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/tomcat-maven-plugin
/1.0/tomcat-maven-plugin-1.0.pom
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/mojo-parent/24/mojo
-parent-24.pom
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/tomcat-maven-plugin
/1.0/tomcat-maven-plugin-1.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building myartiid
[INFO] task-segment: [org.codehaus.mojo:tomcat-maven-plugin:start]
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/commons-codec/commons-codec/1.3/commo
ns-codec-1.3.pom
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworld
s/2.2.2/plexus-classworlds-2.2.2.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/catalina/6.0.26/cat
alina-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/servlet-api/6.0.26/
servlet-api-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/juli/6.0.26/juli-6.
0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/annotations-api/6.0
.26/annotations-api-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/catalina-ha/6.0.26/
catalina-ha-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/coyote/6.0.26/coyot
e-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/tribes/6.0.26/tribe
s-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/el-api/6.0.26/el-ap
i-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper/6.0.26/jaspe
r-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jsp-api/6.0.26/jsp-
api-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper-jdt/6.0.26/j
asper-jdt-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper-el/6.0.26/ja
sper-el-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/dbcp/6.0.26/dbcp-6.
0.26.pom
Downloading: http://repo1.maven.org/maven2/commons-codec/commons-codec/1.3/commo
ns-codec-1.3.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/catalina/6.0.26/cat
alina-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworld
s/2.2.2/plexus-classworlds-2.2.2.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/servlet-api/6.0.26/
servlet-api-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/juli/6.0.26/juli-6.
0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/annotations-api/6.0
.26/annotations-api-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/catalina-ha/6.0.26/
catalina-ha-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/coyote/6.0.26/coyot
e-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/tribes/6.0.26/tribe
s-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/el-api/6.0.26/el-ap
i-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper/6.0.26/jaspe
r-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jsp-api/6.0.26/jsp-
api-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper-jdt/6.0.26/j
asper-jdt-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper-el/6.0.26/ja
sper-el-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/dbcp/6.0.26/dbcp-6.
0.26.jar
[INFO] [tomcat:start {execution: default-cli}]
[INFO] Skipping non-war project
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 minutes 20 seconds
[INFO] Finished at: Wed Sep 01 20:04:02 CST 2010
[INFO] Final Memory: 5M/10M
[INFO] ------------------------------------------------------------------------
除掉mvn在项目管理中的基本功能以外,这里主要是讲一下最容易出错的web项目的自动部署和发布的问题。
在通过mvn来管理web项目的时候,可以实现自动的将web项目部署到web服务器上。
首先,通过命令行来安装web服务器,在命令行:mvn tomcat:start , mvn会自动的下载tomcat插件然后运行,
但是, 这个地方经常会报一个错误,
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.apache.maven.plugins:maven-tomcat-plugin' does not exist
or no valid version could be found
提示说maven-tomcat-plugin' 插件不存在,仔细查看一下pom文件,发现里面配置了 :
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
</plugin>
,
那为什么还报错。
仔细观察,发现mvn并没有采用pom文件里面的配置来下载tomcat-maven-plugin,而是自以为是的去下载maven-tomcat-plugin' ,关于这个问题很多帖子上都反映过,如下:
Hi,
I'm trying to use tomcat-maven-plugin from
http://mojo.codehaus.org/tomcat-maven-plugin/
But when I type mvn tomcat:deploy, i get
[INFO]
----------------------------------------------------------------------------
[INFO] Building Design Council
[INFO] task-segment: [tomcat:deploy]
[INFO]
----------------------------------------------------------------------------
[INFO] Searching repository for plugin with prefix: 'tomcat'.
[ERROR] project-execute : myapp:myapp:war:0.1.0-SNAPSHOT (
task-segment: [tomcat:deploy] )
Diagnosis: The plugin 'org.apache.maven.plugins:maven-tomcat-plugin'
does not exist or no valid version could be found
FATAL ERROR: Error executing Maven for a project
org.apache.maven.lifecycle.LifecycleExecutionExcep tion: The plugin
'*org.apache.maven.plugins:maven-tomcat-plugin*' does not exist or no
valid version could be found
But I don't even have 'maven-tomcat-plugin' configured in my pom.xml!
I've tried removing whole repository, but the problem persists. I'm just
wondering if there is a way to make maven use a specific plugin for the
shortname tomcat?
这个老外也是这样。
后来,找到一个帖子,
hey, I resolver the conflict by calling:
mvn org.codehaus.mojo:tomcat-maven-plugin:deploy
'Invalid task 'kasza': you must specify a valid lifecycle phase, or a
goal in the format plugin:goal or
*pluginGroupIdluginArtifactIdluginVersion:goal *'
知道了,可以通过指定完全限定名称来解决这个问题。
所以 只要将上面命令中的 tomcat 替换成 org.codehaus.mojo:tomcat-maven-plugin 就可以解决问题了。
这个是执行结果
;
C:/c/myartiid>mvn org.codehaus.mojo:tomcat-maven-plugin:start
[INFO] Scanning for projects...
[INFO] artifact org.codehaus.mojo:tomcat-maven-plugin: checking for updates from
central
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/tomcat-maven-plugin
/1.0/tomcat-maven-plugin-1.0.pom
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/mojo-parent/24/mojo
-parent-24.pom
Downloading: http://repo1.maven.org/maven2/org/codehaus/mojo/tomcat-maven-plugin
/1.0/tomcat-maven-plugin-1.0.jar
[INFO] ------------------------------------------------------------------------
[INFO] Building myartiid
[INFO] task-segment: [org.codehaus.mojo:tomcat-maven-plugin:start]
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/commons-codec/commons-codec/1.3/commo
ns-codec-1.3.pom
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworld
s/2.2.2/plexus-classworlds-2.2.2.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/catalina/6.0.26/cat
alina-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/servlet-api/6.0.26/
servlet-api-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/juli/6.0.26/juli-6.
0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/annotations-api/6.0
.26/annotations-api-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/catalina-ha/6.0.26/
catalina-ha-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/coyote/6.0.26/coyot
e-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/tribes/6.0.26/tribe
s-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/el-api/6.0.26/el-ap
i-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper/6.0.26/jaspe
r-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jsp-api/6.0.26/jsp-
api-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper-jdt/6.0.26/j
asper-jdt-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper-el/6.0.26/ja
sper-el-6.0.26.pom
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/dbcp/6.0.26/dbcp-6.
0.26.pom
Downloading: http://repo1.maven.org/maven2/commons-codec/commons-codec/1.3/commo
ns-codec-1.3.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/catalina/6.0.26/cat
alina-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/codehaus/plexus/plexus-classworld
s/2.2.2/plexus-classworlds-2.2.2.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/servlet-api/6.0.26/
servlet-api-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/juli/6.0.26/juli-6.
0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/annotations-api/6.0
.26/annotations-api-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/catalina-ha/6.0.26/
catalina-ha-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/coyote/6.0.26/coyot
e-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/tribes/6.0.26/tribe
s-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/el-api/6.0.26/el-ap
i-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper/6.0.26/jaspe
r-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jsp-api/6.0.26/jsp-
api-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper-jdt/6.0.26/j
asper-jdt-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/jasper-el/6.0.26/ja
sper-el-6.0.26.jar
Downloading: http://repo1.maven.org/maven2/org/apache/tomcat/dbcp/6.0.26/dbcp-6.
0.26.jar
[INFO] [tomcat:start {execution: default-cli}]
[INFO] Skipping non-war project
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 minutes 20 seconds
[INFO] Finished at: Wed Sep 01 20:04:02 CST 2010
[INFO] Final Memory: 5M/10M
[INFO] ------------------------------------------------------------------------
相关文章推荐
- 部署发布脚本:linux+git+maven
- 自动化部署之发布maven项目
- maven的发布打包部署等命令
- java学习4-Maven的发布war并部署到tomcat
- Tomcat部署和发布Web应用
- jdk+maven+svn+Tomcat+Jenkins项目部署发布
- tomcat8热部署配置--maven自动发布项目到tomcat8(如何支持远程访问部署)
- eclipse+maven+jetty发布hello world!Web应用
- maven 插件 一键远程发布部署(jar war)
- 如何发布本地maven项目jar包部署到nexus私服?
- windows环境下使用jenkins自动部署发布项目(eclipse + svn + maven + tomcat + jenkins),注意是windows环境
- Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
- tomcat 6/7 maven 自动发布+热部署方法
- IDEA15.0.3 + Maven 3.1 + Tomcat7 + jrebel 6.3.3 热部署web应用
- 利用Maven把Web应用部署到tomcat中
- 使用shell脚本自动部署(发布,重起)maven(java)项目
- Java开发流程自动化(svn+maven+nexus+jenkins) --自动编译,持续集成,测试,打包,发布/部署
- 转载】Maven + SVN + Hudson 自动编译、部署、发布
- Maven发布本地jar包及部署到远程服务器