У меня есть приложение загрузки Spring с именем "springapp", которое имеет базовый URI:
http://localhost:8080/
Когда я запускаю его как отдельное приложение, он работает нормально. Но когда я запускаю его как "run as → Run on Server" в Eclipse, он добавит название войны как springapp-1.0-snapshot, а базовый URL станет:
http://localhost:8080/springapp-1.0-snapshot
Есть ли способ исправить это. Я хочу, чтобы URI был
http://localhost:8080/springapp
Я пробовал все настройки ниже в моих приложениях.properties, но ни один из них не работал:
spring.webservices.path=/springapp
server.tomcat.basedir=/springapp
spring.jersey.application-path=/springapp
server.contextPath=/springapp
server.servlet-path=/springapp
Это мой стартовый класс:
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@ImportResource("classpath:spring-config.xml")
public class SpringAppStarter extends SpringBootServletInitializer {
private static final Logger GENERAL_LOG = LogManager.getLogger(SpringAppStarter .class);
@Override
protected SpringApplicationBuilder configure(
SpringApplicationBuilder application) {
return application.sources(SpringAppStarter.class);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
GENERAL_LOG.info("Starting Spring Service App");
SpringApplication.run(SpringAppStarter .class, args);
}
}
и мой класс сопоставления запросов:
@RestController
@RequestMapping("/Customers")
public class SpringAppResource {
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
}
Я также добавил конфигурацию контекста в папку META-INF как:
<Context>
<context docBase="springapp" path="/springapp" reloadable="true"/>
</Context>
Я использую Maven для создания проекта. И я не хочу менять имя службы. Мне нужно указать путь контекста в самом приложении. На сервере не может быть никакой зависимости. Я должен предоставить все конфигурации, поэтому после развертывания не нужно настраивать конфигурацию.
Вы также можете изменить имя приложения на сервере Tomcat следующим образом:
Теперь ваше приложение будет в URI: http://localhost:8080/springapp
Если вы используете eclipse, вы можете изменить корневой контекст, выбрав yourproject->properties->Web Project settings
. затем измените корень контекста и перезапустите сервер.
Вы должны иметь возможность переименовать такую войну
<build>
<finalName>springapp</finalName>
. . .
</build>