繁体   English   中英

如何使用maven和tomcat部署Web应用程序?

[英]How to deploy a web app using maven and tomcat?

我正在尝试部署Web应用程序,但没有成功,我正在与

  • Intellij IDEA 14.1.4
  • OS X YOSEMITE 10.10.4

我有这个配置:

在apache-maven-3.2.5(settings.xml)中

<server>
  <id>TomcatServer</id>
  <username>tomcatg</username>
  <password>sg</password>
</server>

在apache-tomcat-7.0.63(tomcat-users.xml)中

    <tomcat-users>

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcatg" password="sg" roles="manager-gui"/>
<user username="tomcats" password="ss" roles="manager-script" />
</tomcat-users>

在pom.xml中

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd“> 4.0.0

<groupId>simple</groupId>
<artifactId>simple</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.5.6</version>
        <type>jar</type>
    </dependency>

    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.5.6</version>
        <type>jar</type>
    </dependency>


</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
                <url>http://127.0.0.1:8080/manager/text/</url>
                <server>TomcatServer</server>
                <username>tomcatg</username>
                <password>sg</password>
                <path>/firstwebapp</path>
            </configuration>
        </plugin>
    </plugins>
</build>

我选择tomcat7:deploy并按Run Maven Build按钮:

    /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java "-Dmaven.home=/Applications/IntelliJ IDEA 14.app/Contents/plugins/maven/lib/maven3" "-Dclassworlds.conf=/Applications/IntelliJ IDEA 14.app/Contents/plugins/maven/lib/maven3/bin/m2.conf" -Didea.launcher.port=7533 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 14.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Applications/IntelliJ IDEA 14.app/Contents/plugins/maven/lib/maven3/boot/plexus-classworlds-2.4.jar:/Applications/IntelliJ IDEA 14.app/Contents/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain org.codehaus.classworlds.Launcher -Didea.version=14.1.4 org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building simple 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] >>> tomcat7-maven-plugin:2.2:deploy (default-cli) @ simple >>>
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ simple ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ simple ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:2.5:testResources (default-testResources) @ simple ---
[debug] execute contextualize
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/carloseduardoanguloustarez/IdeaProjects/simple/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ simple ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.10:test (default-test) @ simple ---
[INFO] Surefire report directory: /Users/carloseduardoanguloustarez/IdeaProjects/simple/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ simple ---
[INFO] Packaging webapp
[INFO] Assembling webapp [simple] in [/Users/carloseduardoanguloustarez/IdeaProjects/simple/target/simple-1.0-SNAPSHOT]
[INFO] Processing war project
[INFO] Copying webapp resources [/Users/carloseduardoanguloustarez/IdeaProjects/simple/src/main/webapp]
[INFO] Webapp assembled in [26 msecs]
[INFO] Building war: /Users/carloseduardoanguloustarez/IdeaProjects/simple/target/simple-1.0-SNAPSHOT.war
[INFO] WEB-INF/web.xml already added, skipping
[INFO] 
[INFO] <<< tomcat7-maven-plugin:2.2:deploy (default-cli) @ simple <<<
[INFO] 
[INFO] --- tomcat7-maven-plugin:2.2:deploy (default-cli) @ simple ---
[INFO] Deploying war to http://127.0.0.1:8080/firstwebapp  
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Uploading: http://127.0.0.1:8080/manager/text//deploy?path=%2Ffirstwebapp
2076/9092 KB   
Uploading: http://127.0.0.1:8080/manager/text//deploy?path=%2Ffirstwebapp
2072/9092 KB   
Uploading: http://127.0.0.1:8080/manager/text//deploy?path=%2Ffirstwebapp
2084/9092 KB   
Uploading: http://127.0.0.1:8080/manager/text//deploy?path=%2Ffirstwebapp
2076/9092 KB   
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.012s
[INFO] Finished at: Sat Jul 11 11:38:07 BOT 2015
[INFO] Final Memory: 12M/248M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy (default-cli) on project simple: Cannot invoke Tomcat manager: Broken pipe -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[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

Process finished with exit code 1

但是我的Web应用程序没有出现在tomcat服务器管理器中

我究竟做错了什么?

您正在构建jar文件。 /Users/carloseduardoanguloustarez/IdeaProjects/simple/target/simple-1.0-SNAPSHOT。

Jar文件无法部署在Tomcat中。 您可以按照以下方式运行jar文件。

java -jar myhelloworldapp.jar

如果是Web应用程序,请更改包装为war。 默认情况下,包装为jar。 专家

<modelVersion>4.0.0</modelVersion>
    <groupId>simple</groupId>
    <artifactId>simple</artifactId>
    <version>1.0-SNAPSHOT</version>
     <packaging>war</packaging>

看这里: maven-tomcat部署

如您所见,有两个可能的原因:

(1)您未通过身份验证

(2)tomcat管理器URL的路径段麻烦

在情况1中,您应该使用manager脚本定义一个单独的部署用户。 之后,您必须重新启动tomcat。

在情况2中,您应该尝试使用以下路径:使用manager /,manager,manager / text,manager / text /或它们的组合。 在某些较旧的版本中,Tomcat帽子带有尾部的斜杠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM