Versuch zum erstellen von der Befehlszeile aus und erstellen einer war-Datei
Meine Ordner layout:
/web-inf/web.xml /web-inf/classes/
HelloWorld.java:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head><title>Hello World</title></title>");
pw.println("<body>");
pw.println("<h1>Hello World</h1>");
pw.println("</body></html>");
}
}
Möchte ich Folgendes tun:
- bauen alles über die Kommandozeile
- veröffentlichen zu Tomcat ' s webapps-Verzeichnis mit einem .war-Datei
Wo sollte ich meine HelloWorld.java
- Datei, und kompilieren Sie es über die Befehlszeile?
Ich glaube, der Ausgang des HelloWorld.java
geht in die /classes/
Ordner.
Dann wie Generiere ich die .war
Datei?
Habe ich versucht manuell zu kompilieren, wie diese:
javac HelloWorld.java
Und ich habe Fehler in Bezug auf die Importe, d.h. er konnte nicht finden, dass die Bibliotheken in meinem Weg. Gibt es eine Java-EE-Bibliothek, die ich herunterladen und es auf meinem Weg?
- Quelle waren die Dateien ursprünglich erstellt mit einem IDE oder erstellen Sie alles manuell von der Kommandozeile aus?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihres Codes hängt von der servlet-API, die nicht in der core-Java-Bibliothek. Sie müssen fügen Sie es zu Ihrem classpath:
WARs teilen sich die gleiche Datei-format wie Gläser (ZIP mit UTF-8 Dateinamen.) Im Allgemeinen können Sie ZIP-Dienstprogramme, mit Ihnen zu arbeiten.
Einen KRIEG Struktur könnte wie folgt Aussehen:
Oben davon ausgegangen, dass Sie eine
package yourpackage;
Erklärung in Ihrem .java-Datei. Das Standard-Paket sollte vermieden werden.Ist dies nur ein Spielzeug Projekt es nicht Wert Ihre Weile, aber ich schlage vor, dass Sie eine schwere build-Werkzeug als überblick über alle Bibliotheken, die Sie brauchen, ist schnell zu einer unüberschaubaren Aufgabe. Der, den ich verwenden ist Maven, aber es gibt alternativen.
Müssen Sie die Verwendung der jar-Befehl und fügen die Abhängigkeiten zu classpath