powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / RestAPI, проблемы deploy в Tomcat
14 сообщений из 14, страница 1 из 1
RestAPI, проблемы deploy в Tomcat
    #39713024
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Пишу первый RestAPI, сильно не ругайте :)
Среда Intellij IDEA, RestAPI SpringMVC, Tomcat 8.5.33
В IDEA по Run отрабатывает на отлично ( http://localhost:8888/ispro_api/getpersonlist), причем среда сама запускает сервер для демонстрации работы приложения.
Разместил war файл на удаленный сервер с Tomcat 8.0.44 - не работает ( http://server:8080/ispro_api/getpersonlist) Пол дня бюсь - безрезультатно. Теряю надежду :)
Ошибка HTTP Status 404 - The requested resource is not available. Пути запуска перепробовал всевозможные

MainController

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
@RestController
@RequestMapping("/ispro_api")
public class MainController {
 
    @Autowired
    private PersonlistDAO personlistDAO;

    static final Logger log = LogManager.getLogger("personlist");
 

    @RequestMapping(value = "/getpersonlist", method = RequestMethod.GET,  produces = MediaType.APPLICATION_JSON_VALUE)
    @ResponseStatus(HttpStatus.OK)
    public List<?> getPersonList(){
        List<Personlist> list = personlistDAO.listPerson();
    return list;
    }



WebApplicationInitializer

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
public class WebInitializer implements WebApplicationInitializer {
 
    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
        appContext.register(ApplicationContextConfig.class);
        servletContext.addListener(new ContextLoaderListener(appContext));
 
        ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDispatcher", new DispatcherServlet(appContext));
        dispatcher.addMapping("/");
        dispatcher.setLoadOnStartup(1);

 
        // UtF8 Charactor Filter.
        FilterRegistration.Dynamic fr = servletContext.addFilter("encodingFilter", CharacterEncodingFilter.class);
        fr.setInitParameter("encoding", "UTF-8");
        fr.setInitParameter("forceEncoding", "true");
        fr.addMappingForUrlPatterns(null, true, "/*");

    }



WebMvcConfig

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter {
  
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
 
        // Default..
    }
 
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }



ApplicationContextConfig

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
@Configuration
@ComponentScan("ua.rest.*")
 
@EnableTransactionManagement
 
// Load to Environment.
@PropertySources({ @PropertySource("classpath:ds/datasource-cfg.properties") })
 
public class ApplicationContextConfig {
 
   // The Environment class serves as the property holder
   // and stores all the properties loaded by the @PropertySource
   @Autowired
   private Environment env;

   static final Logger log = LogManager.getLogger("personlist");

   @Bean(name = "viewResolver")
   public InternalResourceViewResolver getViewResolver() {
       InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
       viewResolver.setPrefix("/WEB-INF/pages/");
       viewResolver.setSuffix(".jsp");
       //viewResolver.setViewClass(JstlView.class);
       return viewResolver;
   }
 
   @Bean(name = "dataSource")
   public DataSource getDataSource() {
       DriverManagerDataSource dataSource = new DriverManagerDataSource();
 
       // See: datasouce-cfg.properties
       dataSource.setDriverClassName(env.getProperty("ds.database-driver"));
       dataSource.setUrl(env.getProperty("ds.url"));
       dataSource.setUsername(env.getProperty("ds.username"));
       dataSource.setPassword(env.getProperty("ds.password"));
       return dataSource;
   }
 
   @Bean(name = "transactionManager")
   public DataSourceTransactionManager getTransactionManager() {
       DataSourceTransactionManager txManager = new DataSourceTransactionManager();
 
       DataSource dataSource = this.getDataSource();
       txManager.setDataSource(dataSource);
 
       return txManager;
   }
 
}



web.xml

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
          http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    version="3.0">
  
    <display-name>REST API</display-name>

</web-app>


...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713036
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если Вы собираете war в IDEA то вам нужно в ваш Артефакт(war) включить зависимости явно в настройках артефакта.
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713038
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собираю в maven, предполагаю, что что-то не так в build
Поделитесь, пожалуйста, рабочим вариантом ( для примера)
build

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<build>
        <finalName>ispro_api</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.2</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>2.4</version>
                    <configuration>
                        <warSourceDirectory>src/main/webapp</warSourceDirectory>
                        <warName>ispro_api</warName>
                        <failOnMissingWebXml>false</failOnMissingWebXml>
                    </configuration>
                </plugin>

            </plugins>
        </pluginManagement>
    </build>


...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713055
Tsyklop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте добавить это:

автор<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
</archive>
</configuration>
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713059
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorDОшибка HTTP Status 404 - The requested resource is not availableты посмотри в инете что это за ошибка...
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713069
pavel_nv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorD,

Похоже что IDEA деплоит в ROOT.

На сервере url будет http://server:8080/ispro_api/ispro_api/getpersonlist
ну или в ROOT.war переименуй и юзай http://server:8080/ispro_api/getpersonlist
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713090
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pavel_nv,
Пробовал в первую очередь. Не помогло.

Залез на сервер, смотрю в папку /var/lib/tomcat/webapps
В корне этой папки находится ispro_api.war
Есть и папка /var/lib/tomcat/webapps/ispro_api/ в ней только(!) META-INF с файлом war-tracker
Хотя в самом war файле внутри полная структура META-INF WEB-INF c классами и прочими файлами

Как-то криво деплоится, или я чего-то не знаю...
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713094
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorDКак-то криво деплоится, или я чего-то не знаю...а у тебя томкат запущен?
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713099
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

деплою через веб-админку war файл на удаленный сервер
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713143
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разобрался. Всем спасибо за участие в решении проблем.
1. Привел в порядок секцию build упростив до максимума

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<build>
        <finalName>ispro_api</finalName>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.2</version>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.apache.tomcat.maven</groupId>
                    <artifactId>tomcat7-maven-plugin</artifactId>
                    <version>2.2</version>
                </plugin>

            </plugins>
        </pluginManagement>
    </build>



2. Поменял @RequestMapping("/ispro_api") на @RequestMapping("/"), после чего из среды запускается с адресом http://localhost:8888/getpersonlist на удаленном сервере http://server:8080/ispro_api/getpersonlist
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713216
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorD,

Давай чтоб окончательно добить задачу - выкосим tomcat.
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713378
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Поделитесь своим вариантом Build :) Моя конечная цель - деплоить на удаленный сервер из среды
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713379
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что из себя представляет удаленный сервер?
...
Рейтинг: 0 / 0
RestAPI, проблемы deploy в Tomcat
    #39713426
IgorD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Fedora + Tomcat 8
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / RestAPI, проблемы deploy в Tomcat
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]