Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / RestAPI, проблемы deploy в Tomcat / 14 сообщений из 14, страница 1 из 1
04.10.2018, 14:32
    #39713024
IgorD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RestAPI, проблемы deploy в Tomcat
Добрый день!
Пишу первый 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
04.10.2018, 14:49
    #39713036
Tsyklop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RestAPI, проблемы deploy в Tomcat
Если Вы собираете war в IDEA то вам нужно в ваш Артефакт(war) включить зависимости явно в настройках артефакта.
...
Рейтинг: 0 / 0
04.10.2018, 14:52
    #39713038
IgorD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RestAPI, проблемы deploy в Tomcat
собираю в 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
04.10.2018, 15:20
    #39713055
Tsyklop
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RestAPI, проблемы deploy в Tomcat
Попробуйте добавить это:

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

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

На сервере url будет http://server:8080/ispro_api/ispro_api/getpersonlist
ну или в ROOT.war переименуй и юзай http://server:8080/ispro_api/getpersonlist
...
Рейтинг: 0 / 0
04.10.2018, 15:54
    #39713090
IgorD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RestAPI, проблемы deploy в Tomcat
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
04.10.2018, 15:56
    #39713094
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RestAPI, проблемы deploy в Tomcat
IgorDКак-то криво деплоится, или я чего-то не знаю...а у тебя томкат запущен?
...
Рейтинг: 0 / 0
04.10.2018, 16:04
    #39713099
IgorD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RestAPI, проблемы deploy в Tomcat
вадя,

деплою через веб-админку war файл на удаленный сервер
...
Рейтинг: 0 / 0
04.10.2018, 17:20
    #39713143
IgorD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RestAPI, проблемы deploy в Tomcat
Разобрался. Всем спасибо за участие в решении проблем.
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
04.10.2018, 18:49
    #39713216
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RestAPI, проблемы deploy в Tomcat
IgorD,

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

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

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


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