Tengo una aplicación web en funcionamiento con applicationContext.xml en WEB-INF/config/applicationContext.xml. Ahora necesito implementar alguna herramienta de prueba como aplicación independiente, que puede usar el mismo applicationContext.xml, pero tiene un problema con la ruta a la configuración para la clase ClassPathXmlApplicationContext.Ruta correcta a applicationContext.xml con ClassPathXmlApplicationContext
Sé que cuando copio applicationContext.xml en el paquete predeterminado (donde reside .java) puedo usar ClassPathXmlApplicationContext ("applicationContext.xml"), pero ¿es esto necesario?
import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class AdminTool {
private Logger log = Logger.getLogger(getClass());
/** all below doesn't work - FileNotFoundException) **/
private static final ApplicationContext ac = new ClassPathXmlApplicationContext("/WEB-INF/config/applicationContext.xml");
private static final ApplicationContext ac = new ClassPathXmlApplicationContext("config/applicationContext.xml");
private static final ApplicationContext ac = new ClassPathXmlApplicationContext("../config/applicationContext.xml");
public static void main(String[] args) {
new AdminTool();
}
public AdminTool() {
log.debug(ac);
}
}
Estaba pensando en ejecutar mi AdminTool usando webapp.war. ¿Será posible usar FileSystemXmlApplicationContext? – marioosh
@marioosh No, en una guerra tienes los mismos problemas que en un contenedor: no hay archivos, solo entradas. ¿La guerra se implementa en un contenedor de servlets o local? –
@Patrick Me gustaría usar la clase AdminTool desde .war sin implementar. PD: Tengo un proyecto maven: nuevo FileSystemXmlApplicationContext ("src/main/webapp/WEB-INF/config/applicationContext.xml"); funciona cuando ejecuto AdminTool en Eclipse – marioosh