2010-05-23 6 views
9

Ich benutze Eclipse 3.5, Maven 2, m2eclipse und Tomcat 6. So erstelle ich Maven-Projekt für archetype webapp. Dies ist pom.xml:Mit Eclipse und Maven erstelltes Projekt an Tomcat

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.itransition</groupId> 
    <artifactId>hello</artifactId> 
    <packaging>war</packaging> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>hello Maven Webapp</name> 
    <url>http://maven.apache.org</url> 

    <!-- tools.jar dependency -->  
    <profiles> 
     <profile> 
      <id>default-tools.jar</id> 
      <activation> 
       <property> 
        <name>java.vendor</name> 
        <value>Sun Microsystems Inc.</value> 
       </property> 
      </activation> 
      <dependencies> 
       <dependency> 
        <groupId>com.sun</groupId> 
        <artifactId>tools</artifactId> 
        <version>1.5.0</version> 
        <scope>system</scope> 
        <systemPath>${java.home}/../lib/tools.jar</systemPath> 
       </dependency> 
      </dependencies> 
     </profile> 
    </profiles> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.struts</groupId> 
      <artifactId>struts2-core</artifactId> 
      <version>2.1.8.1</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <finalName>hello</finalName> 
    </build> 
</project> 

So dann will ich Tomcat meine Web-Anwendung implementieren. Was ich tun muss? Maven installieren helfen nicht. Aber wenn ich durch Maven install Krieg erschaffe, kann ich es in Eclipse importieren und es in Tomcat über "Hinzufügen und Entfernen ..." im Server-Popup bereitstellen.

+1

BTW, was zum Teufel ist das Standard-tools.jar Profil ?! –

Antwort

6

Dieses Problem kann mit dem Tomcat-Plugin für Maven gelöst werden. Die Homepage hat eine umfangreiche Dokumentation über die configuration des Plugins und deployment of war files.

+1

Sorry für blöde Frage, aber wie bekomme ich dieses Plugin? Ich finde keine Download-Seite. – user348267

+3

Kein Problem. Wenn Sie die Plugin-Konfiguration zu Ihrer pom.xml-Datei hinzufügen, lädt Maven das Plugin und seine Abhängigkeiten automatisch herunter. – pkainulainen

+0

so füge ich org.codehaus.mojo tomcat-Maven-Plugin http pom.xml: // localhost: 8080/manager Then "mvn tomcat: deploy" laufen und bekommen [INFO] Krieg http bereitstellen: // localhost: 8080/hallo [INFO] [ERROR] BUILD ERROR [INFO] [INFO] aufrufen kann nicht Tomcat Manager Embedded Fehler: Server HTTP-Antwortcode zurückgegeben: 403 URL: http: // localhost: 8080/manager/deploy path =% 2Fhello & Krieg = – user348267

3

Da Sie m2eclipse verwenden, wäre meine Empfehlung, Ihre Anwendung mit dem WTP zu implementieren. Angenommen, Sie haben die Maven Integration für WTP Feature installiert (von m2eclipse extras) und Tomcat als Server konfiguriert, nur der rechten Maustaste an Ihrem Projekt und auf Ausführen> Ausführen auf Server ...

Eine andere Möglichkeit wäre sei, Ihre Anwendung auf Jetty auszuführen (ja, ich weiß, dass dies nicht das ist, wonach Sie fragen, aber dies ist eine sehr gute Option, wenn Sie das WTP nicht verwenden möchten). Fügen Sie den folgenden Code-Schnipsel zu Ihrem pom:

<project> 
    ... 
    <build> 
    ... 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.mortbay.jetty</groupId> 
     <artifactId>maven-jetty-plugin</artifactId> 
     <version>6.1.10</version> 
     </plugin> 
    </plugins> 
    </build> 
</project> 

Und führen Sie einfach mvn jetty:run einen eingebetteten Jetty-Server zu starten und bereitstellen Ihre Anwendung auf sie.

Das gleiche gilt für Tomcat erreicht werden unter Verwendung der Tomcat Maven Plugin aber es sei denn, Sie zu einem Remote-Tomcat bereitstellen möchten (siehe Usage Seite), ich sehe keinen Vorteil gegenüber der Maven Jetty Plugin.

Während der Entwicklung würde ich die erste Option (Bereitstellung mit dem WTP) verwenden.

+0

Wenn ich Anwendung mit WTP bereitstellen, habe ich 404 Fehler auf den Seiten. – user348267

+0

@fatkh Sie haben ein anderes Problem irgendwo oder Sie tun etwas falsch, aber ich garantiere, dass es für den Rest von uns funktioniert. –

4

Es wurde festgestellt, dass die Tomcat-Manager-URL (ich verwende Tomcat 6.0) ist http://localhost:8080/manager/html, während der Standard von der MVN Tomcat-Plugin bei Manager in der URL gestoppt wird. Fügen Sie die URL angegeben Ihre pom.xml als Konfigurationsparameter - (siehe diese URL für weitere Details http://mojo.codehaus.org/tomcat-maven-plugin/configuration.html) und voila es funktioniert ...

Mit tomcat7, fand ich mich brauchte die URL als http://localhost:8080/manager/htmleinzurichten und Verwenden Sie einen Benutzernamen mit einer Manager-GUI-Rolle. Die Verwendung eines Benutzernamens mit der Rolle manager-script mit der URL http://localhost:8080/manager/text funktioniert jedoch auch und ist besser geeignet. Die manager-script-Rolle ist die geeignete Vorgehensweise für ant/maven-Skripte.

0

Wenn Sie möchten, dass Ihre war Datei von maven erstellt, sollte diese tomcat deployment configuration können Sie direkt auf Tomcatbediener bereitstellen werden dann helfen.

Verwandte Themen