Estoy tratando de implementar una aplicación vaadin en embarcadero.
Pero cuando ejecuto jetty usando start.jar
, comienza a una subcarpeta de
C:\Users\USERNAME\AppData\Local\Temp\jetty-0.0.0.0-8080-Application.war-....
Aunque lo puse en C:\Program Files\MyApp
, siempre se ejecuta allí, incluidos los archivos que guarda.
¿Cómo le digo a jetty que comience donde reside y que tenga todos los archivos relativos a esta base?
Estoy en Windows 7, estamos hablando del paquete de embarcadero independiente más reciente.
Cualquier idea es apreciada.
Jetty necesita un directorio de trabajo.
Su orden de búsqueda para encontrar un directorio de trabajo es el siguiente:
javax.servlet.context.tempdir
, y si el directorio existe, úselo. ${jetty.base}/work
(solo válido para Jetty 9.1+) ${jetty.home}/work
.
${jetty.base}/work
org.eclipse.jetty.webapp.basetempdir
, y si el directorio existe, úselo. System.getProperty("java.io.tmpdir")
y System.getProperty("java.io.tmpdir")
. El más fácil es # 3 o # 4 , solo crea un directorio de work
debajo de ${jetty.home}
o ${jetty.base}
y reinicia Jetty.
El próximo más fácil es # 6 , para especificar su propio java.io.tmpdir
cuando inicie la JVM para Jetty.
[jetty-distribution]$ java -Djava.io.tmpdir=/var/web/work -jar start.jar
El rest requiere que configure el contexto para esa aplicación web implementada.
Ejemplo para Jetty 7 o Jetty 8:
< ?xml version="1.0" encoding="ISO-8859-1"?> < !DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> /var/web/webapps/foo.war /var/web/work/foo
Ejemplo para Jetty 9 (solo un cambio dtd):
< ?xml version="1.0" encoding="ISO-8859-1"?> < !DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd"> /var/web/webapps/foo.war /var/web/work/foo