Версии зависимости Maven - PullRequest
       51

Версии зависимости Maven

0 голосов
/ 14 апреля 2020

Я работаю над старым приложением Struts 1. Я добавил Quartz, так как мне нужно запланировать выполнение задания, используя этот учебник .

Однако теперь я получаю ошибку времени выполнения, в которой он жалуется на версию slf4j Я использую.

10: 15: 07,813 ОШИБКА [stderr] (MS C служебный поток 1-13) SLF4J: slf4j-api 1.6.x (или более поздняя версия) несовместима с этой привязкой , 10: 15: 07,814 ОШИБКА [stderr] (MS C служебная нить 1-13) SLF4J: Ваша привязка имеет версию 1.5.5 или более раннюю. 10: 15: 07,814 ОШИБКА [stderr] (MS C служебная нить 1-13) SLF4J: обновите привязку до версии 1.6.x. 10: 15: 07,814 SEVERE [org. apache .struts.action.ActionServlet] (MS C служебный поток 1-13) Невозможно инициализировать Struts ActionServlet из-за непредвиденного исключения или сгенерированной ошибки, поэтому пометить сервлет как недоступный , Скорее всего, это связано с неправильной или отсутствующей зависимостью библиотеки: java .lang.NoSuchMethodError: org.slf4j.impl.StaticLoggerBinder.getSingleton () Lorg / slf4j / impl / StaticLoggerBinder; в org.slf4j.LoggerFactory.bind (LoggerFactory. java: 129) [slf4j-api-1.7.7.jar:] в org.slf4j.LoggerFactory.performInitialization (LoggerFactory. java: 108) [slf4j-api -1.7.7.jar:] at org.slf4j.LoggerFactory.getILoggerFactory (LoggerFactory. java: 302) [slf4j-api-1.7.7.jar:] at org.slf4j.LoggerFactory.getLogger (LoggerFactory. java: 276) [slf4j-api-1.7.7.jar:] в org.slf4j.LoggerFactory.getLogger (LoggerFactory. java: 288) [slf4j-api-1.7.7.jar:] в org.quartz. impl.triggers.CronTriggerImpl. (CronTriggerImpl. java: 67) [кварц-2.3.2.jar:] в org.quartz.CronScheduleBuilder.build (CronScheduleBuilder. java: 84) [кварц-2.3.2.jar :] в org.quartz.TriggerBuilder.build (TriggerBuilder. java: 101) [quartz-2.3.2.jar:] в com.travellinck.plugin.QuartzPlugin.init (QuartzPlugin. java: 33) [классы :] at org. apache .struts.action.ActionServlet.initModulePlugIns (ActionServlet. java: 884) [struts-core-1.4.1-ee6.jar:] в org. apache .struts.action. ActionServlet.init (ActionServlet. java: 352) [struts-core-1.4.1-ee6. jar:] at javax.servlet.GenericServlet.init (GenericServlet. java: 242) [jboss-servlet-api_3.0_spe c -1.0.0.Final.jar: 1.0.0.Final] в орг. apache .catalina.core.StandardWrapper.loadServlet (StandardWrapper. java: 1202) [jbossweb-7.0.1.Final.jar: 7.0.2.Final] в орг. apache .catalina.core.StandardWrapper.load (StandardWrapper. java: 1102) [jbossweb-7.0.1.Final.jar: 7.0.2.Final] в org. apache .catalina.core.StandardContext.loadOnStartup (StandardContext. java: 3631) [ jbossweb-7.0.1.Final.jar: 7.0.2.Final] в орг. apache .catalina.core.StandardContext.start (StandardContext. java: 3844) [jbossweb-7.0.1.Final.jar: 7.0.2.Final] at org.jboss.as.web.deployment.WebDeploymentService.start (WebDeploymentService. java: 70) [jboss-as-web-7.0.2.Final.jar: 7.0.2.Final] в org.jboss.ms c .service.ServiceControllerImpl $ StartTask.startService (ServiceControllerImpl. java: 1824) в org.jboss.ms c .service.ServiceControllerImpl $ StartTask.run (ServiceControl. 1759) в java .util.concurrent.ThreadPoolExe cutor.runWorker (ThreadPoolExecutor. java: 1145) [: 1.7.0_80] в java .util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor. java: 615) [: 1.7.0_80] в java .lang.Thread.run (Тема. java: 745) [: 1.7.0_80]

Мой файл pom уже имел этот профиль, используя slf4j-log4j12 версия 1.5.8:

    <profile>
        <id>jspCompile</id>
        <activation>
            <!-- TODO: Re-activate default JSP compilation when dependency issue is sorted out. The following happens:
            [ERROR] Unable to read TLD "META-INF/c.tld" from JAR file
            "file:/Users/dawidl/.m2/repository/javax/javaee-api/6.0/javaee-api-6.0.jar":
            org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator
            class: org.apache.taglibs.standard.tlv.JstlCoreTLV -> [Help 1] -->
            <activeByDefault>false</activeByDefault>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.mojo.jspc</groupId>
                    <artifactId>jspc-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                            <phase>compile</phase>
                        </execution>
                    </executions>
                    <configuration>
                        <includeInProject>false</includeInProject>
                        <source>1.5</source>
                        <target>1.5</target>
                    </configuration>
                    <!-- Use the Tomcat 6 JSP compiler -->
                    <dependencies>
                        <dependency>
                            <groupId>org.codehaus.mojo.jspc</groupId>
                            <artifactId>jspc-compiler-tomcat6</artifactId>
                            <version>2.0-alpha-3</version>
                        </dependency>
                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-log4j12</artifactId>
                            <version>1.5.8</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </profile>

Я добавил в свой файл pom следующую зависимость:

    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>1.7.2</version>
    </dependency>

Я попытался изменить зависимость плагинов на 1.7.7.

                        <dependency>
                            <groupId>org.slf4j</groupId>
                            <artifactId>slf4j-log4j12</artifactId>
                            <version>1.7.7</version>
                        </dependency>
                    </dependencies>
                </plugin>

Я также попытался добавление следующих зависимостей вне <profile>:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.7</version>
</dependency>

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.7</version>
    <scope>test</scope>
</dependency>

Но я все еще получаю вышеуказанную ошибку.

Вопрос

Как настроить мои зависимости, чтобы я мог заставить Кварц работать?

Спасибо

1 Ответ

0 голосов
/ 14 апреля 2020

Попробуйте последнюю версию slf4j-log4j и убедитесь, что есть только версия slf4j-log4j

...