med*_*lpa 10 eclipse apache maven tomcat7
我想在这里测试一个spring-mvc教程.
我想使用eclipse-maven在tomcat 7上部署生成的war.
在tomcat上手动部署时,战争正常.
要遵循的步骤:
将此插件添加到现有POM:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<configuration>
<mode>war</mode>
<url>http://localhost:8080/manager/html/</url>
<server>TomcatServer</server>
<path>/springexample</path>
</configuration>
Run Code Online (Sandbox Code Playgroud)
在eclipse中使用名称TomcatServer配置新的tomcat服务器
修改tomcat-users.xml文件:包含管理员用户:
<tomcat-users>
<role rolename="admin"/>
<role rolename="standard"/>
<role rolename="manager-gui"/>
<role rolename="manager"/>
<role rolename="tomcat"/>
<role rolename="manager-script"/>
<user password="password" roles="standard,manager,admin,manager-gui,manager-script,tomcat" username="admin"/>
</tomcat-users>
Run Code Online (Sandbox Code Playgroud)
将服务器配置添加到.m2用户文件夹下的setting.xml配置文件中:
TomcatServer管理员密码
Strat tomcat服务器
当我执行以下目标时:
Maven generate-sources:生成war文件
然后运行配置 - >目标:
tomcat的:部署
错误是:
[
错误]无法执行目标org.codehaus.mojo:tomcat-maven-plugin:1.1:在项目springexample上重新部署(default-cli):无法调用Tomcat管理器:写入服务器时出错 - > [帮助1] org.apache.maven .lifecycle.LifecycleExecutionException:未能执行目标org.codehaus.mojo:Tomcat的Maven的插件:1.1:重新部署(默认CLI)项目springexample:不能org.apache.maven.lifecycle.internal.MojoExecutor调用Tomcat管理.执行(MojoExecutor.java:217)在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)在org.apache.maven.lifecycle .internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)org.apache.maven.lifecycle.internal.Lifecycle Starter.execute(LifecycleStarter.java:161)在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)在org.apache.maven .cli.MavenCli.execute(MavenCli.java:537)在org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)在org.apache.maven.cli.MavenCli.main(MavenCli.java:141 )在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在sun.reflect.NativeMethodAccessorImpl.invoke(来源不明)在sun.reflect.DelegatingMethodAccessorImpl.invoke(来源不明)在java.lang.reflect.Method.invoke(来源不明)org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)org.codehaus.plexus. classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)在org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)产生的原因:org.apache.maven.plugin.MojoExecutionException:不能调用至 在org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:149)在org.codehaus.mojo.tomcat.AbstractWarCatalinaMojo.execute(AbstractWarCatalinaMojo.java:70)在org.apache.maven.plugin.DefaultBuildPluginManager MCAT经理产生java.io.IOException:.executeMojo(DefaultBuildPluginManager.java:101)在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)...... 19多由错误造成在太阳写入服务器.net.www.protocol.http.HttpURLConnection.writeRequests(未知来源)在sun.net.www.protocol.http.HttpURLConnection.writeRequests(未知来源)在sun.net.www.protocol.http.HttpURLConnection.getInputStream(未知源)在org.codehaus.mojo.tomcat.TomcatManager.invoke(TomcatManager.java:604)在org.codehaus.mojo.tomcat.TomcatManager.deployImpl(TomcatManager.java:662)在org.codehaus.mojo.tomcat.TomcatManager .deploy(TomcatManager.java:295)位于org.c的org.codehaus.mojo.tomcat.AbstractDeployWarMojo.deployWar(AbstractDeployWarMojo.java:85)odehaus.mojo.tomcat.AbstractDeployMojo.invokeManager(AbstractDeployMojo.java:85)在org.codehaus.mojo.tomcat.AbstractCatalinaMojo.execute(AbstractCatalinaMojo.java:141)... 22更[错误] [ERROR] [ERROR]对于有关错误和可能的解决方案的更多信息,请阅读以下文章:[错误] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
在我的例子中,使用tomcat7命令进行部署工作:
tomcat7:deploy
Run Code Online (Sandbox Code Playgroud)
你不应该使用:
tomcat:deploy
Run Code Online (Sandbox Code Playgroud)
你应该把精力集中在
Caused by: java.io.IOException: Error writing to server
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.writeRequests(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at org.codehaus.mojo.tomcat.TomcatManager.invoke(TomcatManager.java:604)
Run Code Online (Sandbox Code Playgroud)
查看 TomcatManager 的源代码(http://mojo.codehaus.org/tomcat-maven-plugin/xref/org/codehaus/mojo/tomcat/TomcatManager.html#672)
maven插件无法从服务器读取。它连接(第 597 行),写入数据(第 601 行),但在读取响应(第 604 行)时失败
我会尝试首先在服务器上部署(以消除网络问题)并查看问题是否仍然存在。
| 归档时间: |
|
| 查看次数: |
9924 次 |
| 最近记录: |