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

Edu*_*rez 1 java tomcat intellij-idea maven-3 tomcat7

我正在尝试部署一个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>
Run Code Online (Sandbox Code Playgroud)

在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>
Run Code Online (Sandbox Code Playgroud)

在pom.xml中

<?xml version="1.0" encoding="UTF-8"?>
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

我选择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
Run Code Online (Sandbox Code Playgroud)

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

我究竟做错了什么?

See*_*ker 5

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

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

java -jar myhelloworldapp.jar
Run Code Online (Sandbox Code Playgroud)

如果是Web应用程序,请将包装更改为war.默认包装是jar. 行家

<modelVersion>4.0.0</modelVersion>
    <groupId>simple</groupId>
    <artifactId>simple</artifactId>
    <version>1.0-SNAPSHOT</version>
     <packaging>war</packaging>
Run Code Online (Sandbox Code Playgroud)