JasperException

11 respostas Resolvido
P

Boa noite,

Pessoal estou subindo meu projeto para produção e ao acessar uma das páginas acontece o seguinte erro:

org.apache.jasper.JasperException: Unable to compile class for jsp: an error occurred at line the method proprietaryEvaluate(String, Class<String>, pageContext, null)

Em desenvolvimento isso não acontece. O que pode ser?

Obrigada

11 Respostas

L

prirodovalho,

Seria bom você explicar como estão modelados os ambientes de desenvolvimento e produção. Eu diria para verificar a atualização de todas as suas dependências. Além disso, verificar se alguma dependência já não é padrão do servidor de aplicação que você está utilizando. Uma vez um colega teve um problema desses por ter implantado um jar do jasper para o Tomcat, sendo que ele fornece o próprio jasper. Ele utilizava a versão inferior na produção e a versão 8 no desenvolvimento. Concluímos depois de dias que a assinatura nos métodos eram diferentes de uma versão para outra.

P

Bom dia,

Logusmao,

Eu nem estou usando jasper. A diferença que em desenvolvimento em fiz usando windows e produção é linux. Estou utilizando Jetty e Maven. Vou verificar se pode ser alguma dependência do maven ou configuração de alguma variável. Obrigada pela dica.

L

prirodovalho,

Por incrível que pareça, não tem nada a ver mesmo… No entanto, algumas pessoas mantém um pom de um projeto para outro e acabam chamando algumas dependências desnecessárias. Como o jasper já vem embutido, algumas classes vinculam alguns métodos com ele.

Eu até conversei com esse colega hoje, e ele até me mostrou onde ele encontrou a solução

link 1
link 2

Veja se te ajuda… se não, linka o pom para dar uma olhada

P

Logusmao,

Boa tarde,

Vou olhar esses links que vc me enviou. Obrigada. Olha o pom:

<?xml version="1.0" encoding="UTF-8"?> 4.0.0 br.com.website website 0.0.1-SNAPSHOT war
<repositories>
	<repository>
		<snapshots>
			<enabled>false</enabled>
		</snapshots>
		<id>central</id>
		<name>Maven Repository Switchboard</name>
		<url>http://repo1.maven.org/maven2</url>
	</repository>
</repositories>
<dependencies>
	<dependency>
		<groupId>javax.activation</groupId>
		<artifactId>activation</artifactId>
		<version>1.1.1</version>
	</dependency>
	<dependency>
		<groupId>antlr</groupId>
		<artifactId>antlr</artifactId>
		<version>2.7.7</version>
	</dependency>
	<dependency>
		<groupId>com.fasterxml</groupId>
		<artifactId>classmate</artifactId>
		<version>1.0.0</version>
	</dependency>
	<dependency>
		<groupId>commons-beanutils</groupId>
		<artifactId>commons-beanutils</artifactId>
		<version>1.9.2</version>
	</dependency>
	<dependency>
		<groupId>commons-collections</groupId>
		<artifactId>commons-collections</artifactId>
		<version>3.2.2</version>
	</dependency>
	<dependency>
		<groupId>commons-dbcp</groupId>
		<artifactId>commons-dbcp</artifactId>
		<version>1.4</version>
	</dependency>
	<dependency>
		<groupId>commons-digester</groupId>
		<artifactId>commons-digester</artifactId>
		<version>1.8</version>
	</dependency>
	<dependency>
		<groupId>org.apache.commons</groupId>
		<artifactId>commons-email</artifactId>
		<version>1.2</version>
	</dependency>
	<dependency>
		<groupId>org.apache.commons</groupId>
		<artifactId>commons-email</artifactId>
		<version>1.4</version>
	</dependency>
	<dependency>
		<groupId>commons-logging</groupId>
		<artifactId>commons-logging</artifactId>
		<version>1.1.3</version>
	</dependency>
	<dependency>
		<groupId>commons-pool</groupId>
		<artifactId>commons-pool</artifactId>
		<version>1.6</version>
	</dependency>
	<dependency>
		<groupId>commons-validator</groupId>
		<artifactId>commons-validator</artifactId>
		<version>1.5.1</version>
	</dependency>
	<dependency>
		<groupId>dom4j</groupId>
		<artifactId>dom4j</artifactId>
		<version>1.6.1</version>
	</dependency>
	<dependency>
		<groupId>com.sun.mail</groupId>
		<artifactId>dsn</artifactId>
		<version>1.5.5</version>
	</dependency>
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>ejb3-persistence</artifactId>
		<version>1.0.2.GA</version>
		<type>pom</type>
	</dependency>
	<dependency>
		<groupId>com.sun.mail</groupId>
		<artifactId>gimap</artifactId>
		<version>1.5.5</version>
	</dependency>
	<dependency>
		<groupId>org.hibernate.common</groupId>
		<artifactId>hibernate-commons-annotations</artifactId>
		<version>4.0.5.Final</version>
	</dependency>
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-core</artifactId>
		<version>4.3.11.Final</version>
	</dependency>
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-entitymanager</artifactId>
		<version>4.3.11.Final</version>
	</dependency>
	<dependency>
		<groupId>org.hibernate.javax.persistence</groupId>
		<artifactId>hibernate-jpa-2.1-api</artifactId>
		<version>1.0.0.Final</version>
	</dependency>
	<dependency>
		<groupId>org.hibernate</groupId>
		<artifactId>hibernate-validator</artifactId>
		<version>5.0.2.Final</version>
	</dependency>
	<dependency>
		<groupId>com.sun.mail</groupId>
		<artifactId>imap</artifactId>
		<version>1.5.2</version>
	</dependency>
	<dependency>
		<groupId>org.jboss</groupId>
		<artifactId>jandex</artifactId>
		<version>1.1.0.Final</version>
	</dependency>
	<dependency>
		<groupId>org.javassist</groupId>
		<artifactId>javassist</artifactId>
		<version>3.18.1-GA</version>
	</dependency>
	<dependency>
		<groupId>javax.mail</groupId>
		<artifactId>javax.mail-api</artifactId>
		<version>1.5.5</version>
	</dependency>
	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>jstl</artifactId>
		<version>1.2</version>
	</dependency>
	<dependency>
		<groupId>javax.servlet.jsp.jstl</groupId>
		<artifactId>javax.servlet.jsp.jstl-api</artifactId>
		<version>1.2.1</version>
	</dependency>
	<dependency>
		<groupId>org.jboss.logging</groupId>
		<artifactId>jboss-logging</artifactId>
		<version>3.1.3.GA</version>
	</dependency>
	<dependency>
		<groupId>org.jboss.logging</groupId>
		<artifactId>jboss-logging-annotations</artifactId>
		<version>1.2.0.Beta1</version>
	</dependency>
	<dependency>
		<groupId>org.jboss.spec.javax.transaction</groupId>
		<artifactId>jboss-transaction-api_1.1_spec</artifactId>
		<version>1.0.0.Final</version>
	</dependency>
	<dependency>
		<groupId>log4j</groupId>
		<artifactId>log4j</artifactId>
		<version>1.2.17</version>
	</dependency>
	<dependency>
		<groupId>javax.mail</groupId>
		<artifactId>mail</artifactId>
		<version>1.4.7</version>
	</dependency>
	<dependency>
		<groupId>javax.mail</groupId>
		<artifactId>mailapi</artifactId>
		<version>1.4.3</version>
	</dependency>
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.38</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context-support</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>com.sun.mail</groupId>
		<artifactId>pop3</artifactId>
		<version>1.5.5</version>
	</dependency>
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-api</artifactId>
		<version>1.6.1</version>
	</dependency>
	<dependency>
		<groupId>org.slf4j</groupId>
		<artifactId>slf4j-log4j12</artifactId>
		<version>1.6.1</version>
	</dependency>
	<dependency>
		<groupId>com.sun.mail</groupId>
		<artifactId>smtp</artifactId>
		<version>1.5.5</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-aop</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-aspects</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-beans</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-expression</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework.integration</groupId>
		<artifactId>spring-integration-core</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>4.2.6.RELEASE</version>
	</dependency>
	<dependency>
		<groupId>javax.validation</groupId>
		<artifactId>validation-api</artifactId>
		<version>1.1.0.Final</version>
	</dependency>
	<dependency>
		<groupId>org.apache.velocity</groupId>
		<artifactId>velocity</artifactId>
		<version>1.7</version>
	</dependency>
	<dependency>
		<groupId>velocity</groupId>
		<artifactId>velocity-dep</artifactId>
		<version>1.4</version>
	</dependency>
	<dependency>
		<groupId>velocity-tools</groupId>
		<artifactId>velocity-tools-view</artifactId>
		<version>1.1</version>
	</dependency>
	<dependency>
		<groupId>org.eclipse.jetty</groupId>
		<artifactId>jetty-server</artifactId>
		<version>9.2.11.v20150529</version>
	</dependency>
	<dependency>
		<groupId>taglibs</groupId>
		<artifactId>standard</artifactId>
		<version>1.1.2</version>
		<scope>compile</scope>
	</dependency>
	<dependency>
		<groupId>org.aspectj</groupId>
		<artifactId>aspectjweaver</artifactId>
		<version>1.7.4</version>
	</dependency>
	<dependency>
		<groupId>jetty</groupId>
		<artifactId>servlet-api</artifactId>
		<version>2.5-6.0.2</version>
		<scope>provided</scope>
	</dependency>
	<dependency>
		<groupId>jetty</groupId>
		<artifactId>jsp</artifactId>
		<version>2.1-6.0.2</version>
		<scope>runtime</scope>
	</dependency>
	<dependency>
		<groupId>org.mortbay.jetty</groupId>
		<artifactId>jsp-2.1</artifactId>
		<version>6.0.0</version>
	</dependency>
	<!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> 
		<version>1.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> 
		<artifactId>spring-boot-starter-thymeleaf</artifactId> <version>1.2.3.RELEASE</version> 
		</dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> 
		<version>1.2.3.RELEASE</version> </dependency> -->

</dependencies>

<build>
	<directory>target/</directory>
	<finalName>website</finalName>
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.5</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-install-plugin</artifactId>
			<version>2.5.2</version>
		</plugin>
		<plugin>
			<groupId>org.mortbay.jetty</groupId>
			<artifactId>maven-jetty-plugin</artifactId>
			<version>6.1.26</version>
			<configuration>
				<connectors>
					<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
						<port>8080</port>
					</connector>
				</connectors>
				<contextPath>website</contextPath>
				<scanIntervalSeconds>0</scanIntervalSeconds>
			</configuration>
		</plugin>

		<plugin>
			<groupId>org.eclipse.jetty</groupId>
			<artifactId>jetty-maven-plugin</artifactId>
			<version>9.3.10-SNAPSHOT</version>
		</plugin>

		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-war-plugin</artifactId>
			<version>2.6</version>
			<configuration>
				<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
			</configuration>
		</plugin>


		<plugin>
			<artifactId>maven-clean-plugin</artifactId>
			<version>3.0.0</version>
			<executions>
				<execution>
					<id>auto-clean</id>
					<phase>initialize</phase>
					<goals>
						<goal>clean</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
</build>

<profiles>
	<profile>
		<id>only-eclipse</id>
		<activation>
			<property>
				<name>m2e.version</name>
			</property>
		</activation>
		<build>
			<pluginManagement>
				<plugins>

					<!--This plugin's configuration is used to store Eclipse m2e settings 
						only. It has no influence on the Maven build itself. -->
					<plugin>
						<groupId>org.eclipse.m2e</groupId>
						<artifactId>lifecycle-mapping</artifactId>
						<version>1.0.0</version>
						<configuration>
							<lifecycleMappingMetadata>
								<pluginExecutions>
									<pluginExecution>
										<pluginExecutionFilter>
											<groupId>
												org.apache.maven.plugins
											</groupId>
											<artifactId>
												maven-clean-plugin
											</artifactId>
											<versionRange>
												[3.0.0,)
											</versionRange>
											<goals>
												<goal>clean</goal>
											</goals>
										</pluginExecutionFilter>
										<action>
											<ignore />
										</action>
									</pluginExecution>
								</pluginExecutions>
							</lifecycleMappingMetadata>
						</configuration>
					</plugin>

				</plugins>
			</pluginManagement>
		</build>

	</profile>
</profiles>
P

Olhei e não tem nenhuma dependência do jasper instalada, removi as dependências do jsp e jstl do pom e não resolveu.

L

Todas as dependências são necessárias?

eu vi que você chamou duas versões da mesma dependência

<dependency>
		<groupId>org.apache.commons</groupId>
		<artifactId>commons-email</artifactId>
		<version>1.2</version>
	</dependency>
	<dependency>
		<groupId>org.apache.commons</groupId>
		<artifactId>commons-email</artifactId>
		<version>1.4</version>
	</dependency>
P

Removi essa duplicidade, sim todas elas são necessárias, estou usando o Spring MVC, faço envio de email usando o Velocity, uso algumas tags do JSP. Vi alguns comentários no Google que poderia ser o JAVA_HOME, alterei também e não é isso. Estranho porque em desenvolvimento no Windows não tive nenhum problema, nas próximas aplicações não vou mais trabalhar com Windows, trabalhar o mais próximo de produção.

P

Vou rever essas dependencias

P

Logusmao,

Descobri o que é. No servidor de desenvolvimento estou usando Jetty 8 e em produção estava o Jetty 9. Instalei o 8 e não apresentou o erro. Estranho né? Por que será?

L
Solucao aceita

Provavelmente uma incompatibilidade de versões. Isso acontece o tempo todo… Dei uma olhada rápida na documentação do Jetty 9 e a classe JettyJasperInitializer extende da org.apache.jasper.servlet. Provavelmente na construção de uma versão para outra houve escolha de métodos incompatíveis…

O melhor é que quem não viu a documentação realmente acha não estar lidando com Jasper no projeto, assim como diversas outras classes. Mas infelizmente está lá… Legal que você tenha encontrado

P

Muito obrigada pelas informações. Bom saber. :grinning:

Criado 28 de junho de 2016
Ultima resposta 1 de jul. de 2016
Respostas 11
Participantes 2