可悲的是,到目前为止,没有答案对我有用。但是我终于找到了解决我问题的方法。这听起来像是一种破解,而且绝对感觉像是一种破解。
但是,如果我按照问题中的描述进行了所有设置,直到JSTL无法解决,我就可以采取使一切正常运行的步骤,几乎就像魔术一样。
造成这种情况的步骤是将.war
文件扩展名更改为.jar
。一旦这样做,JSTL就可以很好地解析,并且一切正常。
因此,现在我生成一个.war
,您可以将其放入servlet容器中,也可以重命名.jar
并独立运行。它可以在Unix和Windows上运行,但是由于jsp-2.1-glassfish
James 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>