Java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspApplicationContextImpl | Причал: запустить

Я получаю

java.lang.ClassNotFoundException: org.apache.jasper.runtime.JspApplicationContextImpl

при использовании jetty: запустить плагин в веб-проекте.

Проблема возникает только на некоторых машинах при работе над некоторыми!

Используемая версия Java: 7 Maven Версия: 3.1

Соответствующие зависимости и плагины: -

enter image description here

enter image description here

Ответ 1

Добавление этой зависимости исправлено: -

      <dependency>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jsp-2.1</artifactId>
        <version>6.0.0</version>
      </dependency>

Ответ 2

Если вы используете причал на порту ниже 1024 на linux или osx, это может быть вызвано тем, что процесс не имеет прав на привязку к порту. В моем случае над трассировкой стека была ошибка.

Blockquote [ERROR] Не удалось выполнить цель org.mortbay.jetty: jetty-maven-plugin: 8.1.4.v20120524: run (default-cli) в проекте projectName: Failure: Permission denied → [Help 1] Blockquote

Запуск команды с sudo исправил проблему.

Ответ 3

Это произошло для меня, потому что порт, который будет использоваться Jasper, уже занят другим процессом. Я остановил приложение, запущенное на этом порту, и перезапустил приложение, в котором он работал нормально.

Ответ 4

эту конфигурацию можно использовать в pom.xml в идее идея

<properties>
    <jdk.version>1.7</jdk.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
    <plugins>
        <!-- resource plugin -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <configuration>
                <encoding>${project.build.sourceEncoding}</encoding>
            </configuration>
        </plugin>
        <!-- compiler plugin, set JDK version -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.3</version>
            <configuration>
                <source>${jdk.version}</source>
                <target>${jdk.version}</target>
                <compilerArguments>
                    <verbose />
                    <bootclasspath>${java.home}/lib/rt.jar${path.separator}${java.home}/lib/jce.jar</bootclasspath>
                </compilerArguments>
            </configuration>
        </plugin>
        <!-- deploye plugin -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-deploy-plugin</artifactId>
            <version>2.7</version>
            <configuration>
                <skip>false</skip>
            </configuration>
        </plugin>
        <!-- war plugin -->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>2.2</version>
        </plugin>

        <!-- jetty plugin -->
        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.26</version>
            <configuration>
                <systemProperties>
                    <systemProperty>
                        <name>tomcat.port</name>
                        <value>8098</value>
                    </systemProperty>
                </systemProperties>
                <webApp>${basedir}/target/${project.artifactId}.war</webApp>
                <connectors>
                    <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
                        <port>8088</port>
                    </connector>
                </connectors>
                <scanIntervalSeconds>5</scanIntervalSeconds>
                <webAppConfig>
                    <contextPath>/</contextPath>
                </webAppConfig>
            </configuration>
        </plugin>
    </plugins>
</build>