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>