Sto testando Spring Boot con Tomcat incorporato per circa un mese ora per creare un'API REST. Tutto andava bene. Ora vogliamo distribuire l'API in un ambiente di sviluppo separato che ha un paio di altre applicazioni (non Spring) in esecuzione su un contenitore Tomcat.Avvio a molla distribuito in Tomcat fornisce 404 ma funziona Stand-alone
Ho apportato le modifiche specificate in Converting a Spring Boot JAR Application to a WAR using Maven e Spring Boot Docs.
La distribuzione va bene (i registri sono a posto, nessun errore) e guardando la gestione di Tomcat vedo la mia applicazione distribuita. Tuttavia, quando cerco di accedere a http://localhost:8080/sophia/users in curl ottengo 404.
Qualsiasi aiuto è molto apprezzato.
UPDATE:
qui sono i miei log:
Netbeans:
NetBeans: Distribuzione su Apache Tomcat 8.0.17 modalità profilo: true modalità di debug: true forza redeploy: true
Distribuzione sul posto in /home/bugz/workspace/pdcore/sophiaserver/target/sophia-server-1.0.0-SNAP SHOT
distribuzione è in corso ...
distribuire config = file% 3A% 2Ftmp% 2Fcontext1845402702541504208.xml & path =/Sophia
OK -? Schierato applicazione al contesto percorso/Sophia
Start è in corso ...
inizio path =/Sophia
OK - Iniziato domanda presso contex t percorso/Sophia
Tomcat:
INFORMAZIONI 10: 47: 52: 703 org.springframework.boot.context.embedded.ServletRegistrationBean - Mapping servlet: 'DispatcherServlet' a [/ Sophia/* ]
INFO 10: 47: 54: 042 org.springframework.boot.SpringApplication - Iniziata applicazione in 8.285 secondi (JVM in esecuzione per 12.087,301)
22-Jan-2015 10: 47: 54,060 INFO [HTTP nio-8080-exec-99] org.apache.catalina.startup.HostConfig.deployDescrip tor distribuzione del descrittore configurazione /home/bugz/workspace/server/apache-tomcat-8.0.17/conf/Catalina/localhost/sophia.xml ha terminato in 12.091 ms
E a Sophia.XML per Catalina localhost:
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" docBase="/home/bugz/workspace/pdcore/sophiaserver/target/sophia-server-1.0.0-SNAPSHOT" path="/sophia"/>
Ho provato accesso
- http://localhost:8080/sophia/users
- http://localhost:8080/sophia-server-1.0.0-SNAPSHOT/users (nome della guerra)
Il primo restituisce un 404 ma con le informazioni CORS dal mio bean di filtro CORS. Il secondo return 404 senza informazioni CORS (che indica che l'applicazione è stata avviata e configurata ma non sembra che abbia accesso ai controller).
Controlla il tuo file di log, sei sicuro che l'applicazione sia distribuita su quell'URL specifico ... –
@M. Deinum, ho aggiunto i log che sto ottenendo. I controller sono mappati e sembra che stia implementando il contesto come previsto (/ sophia). – xelamitchell
La tua applicazione è mappata a '/ sophia', il tuo' DispatcherServlet' è mappato a '/ sophia/*', facendo in modo che l'URL chiami '/ sophia/sophia/users'. Quando viene eseguito come jar viene distribuito come applicazione root mappata a '/' ... –