您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何获得嵌入式Jetty 9以成功解析JSTL URI?

如何获得嵌入式Jetty 9以成功解析JSTL URI?

可悲的是,到目前为止,没有答案对我有用。但是我终于找到了解决我问题的方法。这听起来像是一种破解,而且绝对感觉像是一种破解。

但是,如果我按照问题中的描述进行了所有设置,直到JSTL无法解决,我就可以采取使一切正常运行的步骤,几乎就像魔术一样。

造成这种情况的步骤是将.war文件扩展名更改为.jar。一旦这样做,JSTL就可以很好地解析,并且一切正常。

因此,现在我生成一个.war,您可以将其放入servlet容器中,也可以重命名.jar并独立运行。它可以在Unix和Windows上运行,但是由于jsp-2.1-glassfishJames Cook提到的库中存在一个错误,因此我之前的操作方式在Unix上不起作用。

我pom的相关内容

<properties>
    <jetty.version>9.0.5.v20130815</jetty.version>
    <war.class>com.domain.package.DeployWebapp</war.class>
    <war.class.path>com/domain/package</war.class.path>
</properties>

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-server</artifactId>
    <version>${jetty.version}</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-webapp</artifactId>
    <version>${jetty.version}</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-jsp</artifactId>
    <version>${jetty.version}</version>
    <scope>provided</scope>
</dependency>

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <id>main-class-placement</id>
            <phase>prepare-package</phase>
            <configuration>
                <tasks>
                    <move todir="${project.build.directory}/${project.artifactId}-${project.version}/${war.class.path}">
                    <fileset dir="${project.build.directory}/classes/${war.class.path}">
                        <include name="DeployWebapp.class" />
                    </fileset>
                </move>
                        </tasks>
                </configuration>
                <goals>
                    <goal>run</goal>
                </goals>
            </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.3</version>
    <executions>
        <execution>
            <id>jetty-classpath</id>
            <phase>prepare-package</phase>
            <goals>
                <goal>unpack-dependencies</goal>
            </goals>
            <configuration>
                <includeGroupIds>org.eclipse.jetty,javax.servlet,javax.el,org.glassfish.web,org.eclipse.jetty.orbit,org.ow2.asm,javax.annotation</includeGroupIds>
                <outputDirectory>
                    ${project.build.directory}/${project.artifactId}-${project.version}
                </outputDirectory>
            </configuration>
        </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.4</version>
    <configuration>
        <attachClasses>true</attachClasses>
        <archiveClasses>true</archiveClasses>
        <archive>
            <manifest>
                <mainClass>${war.class}</mainClass>
            </manifest>
        </archive>
        <packagingExcludes>Meta-INF/*.SF</packagingExcludes>
        <packagingExcludes>Meta-INF/*.DSA</packagingExcludes>
        <packagingExcludes>Meta-INF/*.RSA</packagingExcludes>
    </configuration>
</plugin>
其他 2022/1/1 18:15:10 有400人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶