развертывание весенней загрузки приложения при ошибке weblogic throws 404 - PullRequest
0 голосов
/ 11 октября 2018

Я выполнил приведенные ниже настройки и перепробовал почти все найденные решения, но ничего не помогло.Когда я развертываю приложение весенней загрузки в пакете войны.В журнале weblogic не было зарегистрировано ошибок, но приложение выдает ошибку 404.

web.xml

<listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:root-context.xml</param-value>
    </context-param>
    <context-param>  
    <param-name>spring.profiles.active</param-name>  
    <param-value>dev</param-value>  
    </context-param>  
    <context-param>  
    <param-name>spring.profiles.default</param-name>  
    <param-value>dev</param-value>  
</context-param>
<context-param>  
    <param-name>spring.liveBeansView.mbeanDomain</param-name>  
    <param-value>dev</param-value>  
</context-param>  

weblogic.xml

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:wls="http://www.bea.com/ns/weblogic/90"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-web-app.xsd">
    <wls:weblogic-version>12.1.2.0.0</wls:weblogic-version>
    <wls:context-root>/services/userModule/</wls:context-root>
    <wls:container-descriptor>
        <wls:prefer-application-packages>
            <wls:package-name>com.fasterxml</wls:package-name>
            <wls:package-name>org.slf4j</wls:package-name>
            <wls:package-name>org.springframework.*</wls:package-name>
        </wls:prefer-application-packages>
    </wls:container-descriptor>
</wls:weblogic-web-app>

application.properties

spring.profiles.default=default
spring.profiles.active=default
spring.liveBeansView.mbeanDomain=default

cms.config.monitor.dir=/server/location/application/artifacts
application.messages.file.name=application-messages
application.config.file.name=application-config

root-context.xml

содержит специфичные для приложения конфигурации.

ApplicationBegin.java

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, JpaRepositoriesAutoConfiguration.class}) 
public class ApplicationBegin extends SpringBootServletInitializer implements WebApplicationInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(ApplicationBegin.class);
    }

    public static void main(String[] args){
        SpringApplication.run(ApplicationBegin.class, args);

    }

Невозможно исключить сервер Tomcat из файла pom.xml, так как он не удается выполнить компиляцию.Есть ли способ установить tomcat, как это предусмотрено при использовании весеннего загрузочного стартера? pom.xml

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>

                <!-- THIS WILL BE EXCLUDE ONLY FOR WEBLOGIC DEPLOYMENT -->
                <!--  <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>  -->
            </exclusions>
        </dependency>

Проблема в том, что приложение отлично работает со встроенным tomcat, но оно не работает, даже если не выдает никакой ошибки при развертывании на weblogic.Куда мне смотреть?

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Попробовав решения, которые я нашел у разных людей, я не смог решить мою проблему, и почему-то я решил ее сейчас.все подобные проблемы, которые я видел по этой теме, и мнения, я наконец-то понял, что ни один ответ не был на самом деле решением, потому что в большинстве случаев проблема возникает из-за неправильной конфигурации, которую weblogic не понимает.хуже всего то, что он даже не выбрасывает ошибку.В моем случае, отличном от файла application.properties и root-context.xml, я явно указал файл web.xml в каталоге / WEB-INF и определил там местоположение context-config.Как только я удалил web.xml и реорганизовал / отфильтровал зависимости проекта сверху вниз, это решило проблему.а затем я понял, что многие удобные решения в Интернете для этой проблемы даже не потребуются, если ваша конфигурация верна.например, для настройки jpavendor не потребуется, если вы правильно используете jpa starter с начальной загрузкой.так что ... если вы когда-либо сталкивались с подобной проблемой развертывания в weblogic, вы можете выполнить следующие шаги -

  1. Развернуть только минимальную часть приложения и сделать его работоспособным в weblogic
  2. , затемдобавьте свои критические зависимости / конфигурации и разверните их одну за другой в weblogic и проверьте, работает ли он
  3. . Вы всегда должны сначала запускать загрузочное приложение на другом локальном сервере для решения основных проблем конфигурации .. Tomcat хорош.
0 голосов
/ 11 октября 2018

Можете ли вы попробовать загрузку класса как родительский последний?Поэтому Spring boot будет использовать свои собственные библиотеки контейнеров.

...