Tomcat – Bitkorn Blog https://blog.bitkorn.de Developer Zeugz Fri, 20 Jul 2018 09:38:30 +0000 de-DE hourly 1 https://wordpress.org/?v=6.3.1 generate Tomcat Eclipse VM arguments https://blog.bitkorn.de/generate-tomcat-eclipse-vm-arguments/ Fri, 20 Jul 2018 09:32:00 +0000 http://blog.t-brieskorn.de/?p=468 new -> Server zuerst angelegt werden. Dann findet man im Server Tab den Tomcat …auf diesen doppelt klicken. Dadurch öffnet sich […]]]> Bei den Run Configurations in Eclipse für den Tomcat (ich nutze aktuell die 8er Version) brauchts es VM arguments. Diese automatisch zu erstellen ist die einfachste Möglichkeit.

Dazu muss der Tomcat per File -> new -> Server zuerst angelegt werden.

Dann findet man im Server Tab den Tomcat …auf diesen doppelt klicken. Dadurch öffnet sich die Run Configuration mit einigen VM arguments.

]]>
Java EE, Tomcat & Eclipse https://blog.bitkorn.de/java-ee-tomcat-eclipse/ Sun, 24 Jun 2018 12:21:01 +0000 http://blog.t-brieskorn.de/?p=438 Wenn verwöhnte Netbeans User für Java EE Eclipse benutzen müssen, wirds kurz haarig 😉

catalina.base

Die Variable catalina.base in den Run Configuration des Tomcats setzen weil die Tomcat Datei catalina.properties sie zum Laden der libs benötigt.

Automatisch macht Eclipse z.B.:

-Dcatalina.base="/home/allapow/workspace-neon/.metadata/.plugins/org.eclipse.wst.server.core/tmp0" -Dcatalina.home="/home/allapow/Apps/Apache-Tomcat-8/apache-tomcat-8.0.52" -Dwtp.deploy="/home/allapow/workspace-neon/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps" -Djava.endorsed.dirs="/home/allapow/Apps/Apache-Tomcat-8/apache-tomcat-8.0.52/endorsed"

CATALINA_HOME

Falls man seinem Linux in /etc/profile (oder sonst wo) gesagt hat, wo CATALINA_HOME ist und man verschiedene Tomkatzen benutzt, dann kann man in Eclipse, in der Run Configuration jedes Tomcats, unter dem Tab „Environment“, CATALINA_HOME und eventuell auch CATALINA_BASE angeben.

Tomcat libs für REST

catalina-ws.jar kann man passend zum Tomcat auf der Apache Seite runter laden. Laut schlauen Leuten im Netz muss diese lib in den Tomcat lib/ Ordner. Bis jetzt funzt mein REST Service auch ohne …mal sehen wozu die gut ist.

Auch das ganze Jersey Zeug muss nicht in den lib/ Ordner des Tomcat. Denke, wenn es in der war Datei ist muss es nicht erneut im Tomcat lib/ Ordner. Im Projekt muss man die meisten haben, sonst werden Klassen nicht gefunden.

JAX-RS

Entgegen anderen Meinungen im Web müssen alle (Ordner: api/, ext/ & lib/) Lib-Jars aus Jersey in das Verzeichnis [ProjectName]/WebContent/WEB-INF/lib.

Und die web.xml sieht so aus

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	id="WebApp_ID" version="3.1">
	<display-name>LearnEclipseEE02</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<servlet>
		<servlet-name>Jersey REST Service</servlet-name>
		<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
		<!-- Register resources and providers under com.vogella.jersey.first package. -->
		<init-param>
			<param-name>jersey.config.server.provider.packages</param-name>
			<param-value>de.bitkorn.jersey.resource</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>Jersey REST Service</servlet-name>
		<url-pattern>/rest/*</url-pattern>
	</servlet-mapping>
</web-app>
]]>