When I deploy my application in Tomcat 8 with JDK 1.8, I get this NPE. The same application works fine in Tomcat 7 with JDK 1.8. We are not shipping any el-api jar with our application. Have anyone else run into this issue?
java.lang.NullPointerException
javax.el.CompositeELResolver.add(CompositeELResolver.java:49)
org.apache.jasper.el.ELContextImpl.<clinit>(ELContextImpl.java:87)
org.apache.jasper.compiler.Validator$ValidateVisitor.getJspAttribute(Validator.java:1414)
org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1231)
org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:879)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1536)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434)
org.apache.jasper.compiler.Node$Root.accept(Node.java:464)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1846)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:217)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:356)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
com.actuate.iv.presentation.aggregation.IVBaseFragment.service(IVBaseFragment.java:261)
com.actuate.iv.servlet.IVHttpDispatcher.handleRequest(IVHttpDispatcher.java:144)
com.actuate.iv.servlet.IVServlet.doGet(IVServlet.java:261)
javax.servlet.http.HttpServlet.service(HttpServlet.java:618)
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
We had this issue with these configurations:
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/java/jdk1.8.0_45
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Server version: Apache Tomcat
Server built: May 19 2015 14:58:38 UTC
Server number: 8.0.23.0
OS Name: Linux
OS Version: 2.6.32-431.11.2.el6.x86_64
Architecture: amd64
JVM Version: 1.8.0_45-b14
JVM Vendor: Oracle Corporation
We solved it by upgrading tomcat from 8.0.23.0 to 8.0.26.0 version.
Related
I installed jdk1.8 and now trying to install apache tomcat. When I run
C:\Program Files\apache\apache-tomcat-8.0.30\bin>startup
it start running like
C:\Program Files\apache\apache-tomcat-8.0.30\bin>startup
Using CATALINA_BASE: "C:\Program Files\apache\apache-tomcat-8.0.30"
Using CATALINA_HOME: "C:\Program Files\apache\apache-tomcat-8.0.30"
Using CATALINA_TMPDIR: "C:\Program Files\apache\apache-tomcat-8.0.30\temp"
Using JRE_HOME: "C:\Program Files\Java\jre1.8.0_73"
Using CLASSPATH: "C:\Program Files\apache\apache-tomcat-8.0.30\bin\bootstrap.jar;C:\Program Files\apache\apache-tomcat-8.0.30\bin\tomcat-juli.jar"
after that I tried to check apache tomcat in browser like localhost:8080
and showing following error
HTTP Status 500 - java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
type Exception report
message java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:176)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
java.net.URLClassLoader.findClass(Unknown Source)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:62)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.30 logs.
Apache Tomcat/8.0.30
Please tell me how resolve this issue.
Verify that your JAVA_HOME is pointing to the correct JDK.
I downloaded TomEE 1.7.1 and installed. While bringing the server up an IllegalArgumentException is thrown. What could be the issue as I have not deployed any app yet.
INFO: Using 'openejb.jdbc.datasource- creator=org.apache.tomee.jdbc.TomEEDataSourceCreator'
java.lang.IllegalArgumentException
at java.util.EventObject.<init>(EventObject.java:52)
at java.beans.PropertyChangeEvent.<init>(PropertyChangeEvent.java:41)
at org.apache.tomee.catalina.GlobalListenerSupport$MoniterableHashMap.put(GlobalListenerSupport.java:412)
at java.util.HashMap.putAllImpl(HashMap.java:746)
at java.util.HashMap.putAll(HashMap.java:736)
at java.util.LinkedHashMap.<init>(LinkedHashMap.java:112)
at org.apache.tomee.catalina.GlobalListenerSupport$MoniterableHashMap.<init>(GlobalListenerSupport.java:403)
at org.apache.tomee.catalina.GlobalListenerSupport.addContextListener(GlobalListenerSupport.java:380)
at org.apache.tomee.catalina.GlobalListenerSupport.engineAdded(GlobalListenerSupport.java:224)
at org.apache.tomee.catalina.GlobalListenerSupport.serviceAdded(GlobalListenerSupport.java:201)
at org.apache.tomee.catalina.GlobalListenerSupport.start(GlobalListenerSupport.java:181)
at org.apache.tomee.catalina.TomcatWebAppBuilder.start(TomcatWebAppBuilder.java:409)
at org.apache.tomee.catalina.TomcatLoader.initialize(TomcatLoader.java:223)
at org.apache.tomee.catalina.ServerListener.install(ServerListener.java:168)
at org.apache.tomee.catalina.ServerListener.lifecycleEvent(ServerListener.java:55)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:402)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:110)
at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
This is all the stacktrace that is thrown out.
Check el JRE_HOME variable environment. JRE_HOME most be reater a 5.
Tomcat EE display for example:
E:\Users\yo\Documents\apache-tomee-webprofile-1.7.4\bin>startup.bat
Using CATALINA_BASE: "E:\Users\yo\Documents\apache-tomee-webprofile-1.7.4"
Using CATALINA_HOME: "E:\Users\yo\Documents\apache-tomee-webprofile-1.7.4"
Using CATALINA_TMPDIR: "E:\Users\yo\Documents\apache-tomee-webprofile-1.7.4\temp"
Using JRE_HOME: "C:\Program Files\Java\jre7"
Using CLASSPATH: "E:\Users\yo\Documents\apache-tomee-webprofile-1.7.4\bin\bootstrap.jar;E:\Users\yo\Documents\ejecutables\apac
he-tomee-webprofile-1.7.4\bin\tomcat-juli.jar"
Check the version of JRE
-- Revisa la versión del JRE
I am using a spring maven tomcat8 java8 stack. The problem I am facing is that logs are not getting generated on certain machines. I am using slf4j-logback combination for logging. The problem has surfaced when I am trying to move my stack from java7 to java8.
Here is my logback.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="dal"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/dal/dal.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>/var/log/dal/dal-%d{yyyy-MM-dd}.log.gz</fileNamePattern>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<append>true</append>
<encoder>
<pattern>[%d{HH:mm:ss.SSS} %thread %-5level %C:%L] %msg%n</pattern>
</encoder>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%d{HH:mm:ss.SSS} %thread %-5level %C:%L] %msg%n</pattern>
</encoder>
</appender>
<appender name="email-appender" class="ch.qos.logback.classic.net.SMTPAppender">
<to></to>
<from></from>
<subject>API Logs - Error while sending notification</subject>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>[%d{HH:mm:ss.SSS} %thread %-5level %C:%L] %msg%n</pattern>
</layout>
</appender>
<root level="DEBUG">
<appender-ref ref="dal" />
<appender-ref ref="STDOUT" />
</root>
</configuration>
Using this, I expect to get logs at two places, at custom location /var/log/dal/dal.log and in catalina.out
Here are a few relevant details of the server where logs are getting generated:
OS:
apache-tomcat-8.0.15 $ uname -a
Linux azi 3.2.0-74-generic #109-Ubuntu SMP Tue Dec 9 16:45:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
MVN:
apache-tomcat-8.0.15 $ mvn -version
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in 8.0
Apache Maven 3.0.4
Maven home: /usr/share/maven
Java version: 1.8.0_25, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.2.0-74-generic", arch: "amd64", family: "unix"
Tomcat:
apache-tomcat-8.0.15 $ bin/version.sh
Using CATALINA_BASE: /opt/apache-tomcat-8.0.15
Using CATALINA_HOME: /opt/apache-tomcat-8.0.15
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.0.15/temp
Using JRE_HOME: /usr/lib/jvm/java-8-oracle/
Using CLASSPATH: /opt/apache-tomcat-8.0.15/bin/bootstrap.jar:/opt/apache-tomcat-8.0.15/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.0.15
Server built: Nov 2 2014 19:25:20 UTC
Server number: 8.0.15.0
OS Name: Linux
OS Version: 3.2.0-74-generic
Architecture: amd64
JVM Version: 1.8.0_25-b17
JVM Vendor: Oracle Corporation
JAVA:
apache-tomcat-8.0.15 $ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
Permission:
ls -al /var/log/dal/
total 72
drwxrwxrwx 2 root root 4096 Dec 22 19:50 .
drwxrwxrwx 4 root root 4096 Oct 21 09:47 ..
-rw-r--r-- 1 root root 60925 Dec 22 20:38 dal.log
Here are the details for the server where I am not getting any log:
OS:
sysadmin#ip-172-30-0-26:/opt/apache-tomcat-8.0.15$ uname -a
Linux ip-172-30-0-26 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
MVN:
sysadmin#ip-172-30-0-26:/opt/apache-tomcat-8.0.15$ mvn -version
Apache Maven 3.2.2 (45f7c06d68e745d05611f7fd14efb6594181933e; 2014-06-17T19:21:42+05:30)
Maven home: /opt/apache-maven-3.2.2
Java version: 1.8.0_25, vendor: Oracle Corporation
Java home: /opt/jdk1.8.0_25-linux-x64/java-linux-x64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.13.0-29-generic", arch: "amd64", family: "unix"
Tomcat:
sysadmin#ip-172-30-0-26:/opt/apache-tomcat-8.0.15$ sudo bin/version.sh
Using CATALINA_BASE: /opt/apache-tomcat-8.0.15
Using CATALINA_HOME: /opt/apache-tomcat-8.0.15
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.0.15/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/apache-tomcat-8.0.15/bin/bootstrap.jar:/opt/apache-tomcat-8.0.15/bin/tomcat-juli.jar
Server version: Apache Tomcat/8.0.15
Server built: Nov 2 2014 19:25:20 UTC
Server number: 8.0.15.0
OS Name: Linux
OS Version: 3.13.0-29-generic
Architecture: amd64
JVM Version: 1.8.0_25-b17
JVM Vendor: Oracle Corporation
JAVA:
sysadmin#ip-172-30-0-26:/opt/apache-tomcat-8.0.15$ java -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
Permission:
sysadmin#ip-172-30-0-26:/opt/apache-tomcat-8.0.15$ ls -al /var/log/dal/
total 8
drwxrwxrwx 2 root root 4096 Dec 22 19:48 .
drwxrwxrwx 4 root root 4096 Dec 22 19:48 ..
Another thing of note can be the fact that when I do System.out.println("msg"), "msg" goes into catalins.out on both servers. And If I change permission of /var/log/dal on the machine logs are getting generated, logs still get generated in catalina.out. So this shouldn't be related to permissions.
I have tried copying war file from one server to another and didn't find any change in behavior. So, this shouldn't be related to maven. Tomcat and Java versions are same. Can this be related to OS?
UPDATE: When I run my application using mvn clean tomcat7:run, I get logs on all servers. So problem seems to be related to tomcat8. I have even tried copying tomcat8 from one server to another. It didn't help.
Please make sure there are no other slf4j bindings on the classpath (e.g., in the tomcat).
This was the case of slf4j identifying multiple bindings in classpath. In such scenarios, slf4j chooses the binding pretty much randomly. In my case, this was happening because slf4j-log4j12 binding was available through solr-core. To remove this, I had to exclude this explicitly:
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
<version>${solr.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
</exclusions>
</dependency>
During development I use tomcat plugging for maven: tomcat7-maven-plugin version 2.2
When I deploy war file to the remote host, tomcat throws errors. Here is the version of tomcat on the remote server:
root#vido:/var/lib/tomcat7/webapps# sh /usr/share/tomcat7/bin/version.sh
Using CATALINA_BASE: /var/lib/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /var/lib/tomcat7/temp
Using JRE_HOME: /usr/lib/jvm/java-7-oracle
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.26
Server built: Apr 1 2013 08:32:04
Server number: 7.0.26.0
OS Name: Linux
OS Version: 3.8.0-29-generic
Architecture: amd64
JVM Version: 1.7.0_55-b13
JVM Vendor: Oracle Corporation
Here is java version:
root#vido:/var/lib/tomcat7/webapps# java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
Here is a part of pom.xml file:
<!-- web sockets -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
<!-- servlets -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
Here are exceptions:
DEBUG [pool-2-thread-1] (AnnotationAttributesReadingVisitor.java:186) - Failed to class-load type while reading annotation metadata. This is a non-fatal error, but certain annotation metadata may be unavailable.
java.lang.ClassNotFoundException: javax.websocket.server.ServerEndpoint
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
at org.springframework.core.type.classreading.RecursiveAnnotationAttributesVisitor.visitEnd(AnnotationAttributesReadingVisitor.java:182)
at org.springframework.asm.ClassReader.readAnnotationValues(ClassReader.java:1788)
DEBUG [pool-2-thread-1] (DefaultListableBeanFactory.java:404) - Ignoring bean class loading failure for bean 'getDataHandler'
org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.vm.controllers.GetDataHandler] for bean with name 'getDataHandler' defined in file [/var/lib/tomcat7/webapps/videomessenger/WEB-INF/classes/com/vm/controllers/GetDataHandler.class]: problem with class file or dependent class; nested exception is java.lang.UnsupportedClassVersionError: com/vm/controllers/GetDataHandler : Unsupported major.minor version 51.0 (unable to load class com.vm.controllers.GetDataHandler)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1330)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:594)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1396)
There are more errors but all of them of described type above.
solved by installing tomcat v 7.0.53
I guess you are building a web app based on the JEE 7 specs, I can see the WebSocket api, While your dependency is for the JEE 6. Add the correct dependency for JEE 7 and the error will be removed. The error is due to its not able to find the class. Due to dependency mismatch its showing a version mismatch error too.
I've spent hours trying to get Tomcat installed and the server running, and still nothing.
❯ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents
❯ bash startup.sh
Using CATALINA_BASE: /Library/Tomcat
Using CATALINA_HOME: /Library/Tomcat
Using CATALINA_TMPDIR: /Library/Tomcat/temp
Using JRE_HOME: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Using CLASSPATH: /Library/Tomcat/bin/bootstrap.jar:/Library/Tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /Library/Tomcat/tomcat.pid
Existing PID file found during start.
Removing/clearing stale PID file.
Tomcat started.
/Library/Tomcat/bin
❯
localhost:8080 still doesn't load.
I've checked, and no other processes are using that port.
I've also added a dummy user. Still, nothing.
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat,admin,manager"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
Configuration tests:
❯ ./catalina.sh configtest
Using CATALINA_BASE: /Library/Tomcat
Using CATALINA_HOME: /Library/Tomcat
Using CATALINA_TMPDIR: /Library/Tomcat/temp
Using JRE_HOME: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
Using CLASSPATH: /Library/Tomcat/bin/bootstrap.jar:/Library/Tomcat/bin/tomcat-juli.jar
Using CATALINA_PID: /Library/Tomcat/tomcat.pid
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Configuration error detected!
❯ which java
/usr/bin/java
❯ java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
Yet, for some reason, I have 1.7 showing in my System Preferences.
I even tried Tomcat Controller, but it says something isn't configured properly also.
It'd be really helpful if these errors told me exactly what the problem was.
Feel free to move this to ServerFault
You have two JVMs installed. Not the JRE_HOME line in the output from startup and compare it with the JAVA_HOME path above it.
You'll need to update the JRE_HOME environment variable and the java symlink in /usr/bin to point to the java 7 installation.