教程中的java.lang.reflect.InvocationTargetException错误

时间:2012-07-24 14:31:09

标签: java-ee glassfish ejb

我正在按照this excellent tutorial了解Java EE,Glassfish和EJB。

我被困在第9.i节。我收到了作者提到的java.lang.reflect.InvocationTargetException错误,并做了同样的修复。但是,我仍然得到同样的错误,我一直在寻找答案已有一段时间了。这是我试过的。

的persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="cookbookEJB">
        <jta-data-source>jdbc/cookbook</jta-data-source>
        <class>com.davidlacerte.cookbook.entity.City</class>
        <class>com.davidlacerte.cookbook.entity.Country</class>
        <properties>
            <property name="eclipselink.logging.level" value="FINE"/>
        </properties>
    </persistence-unit>
</persistence>

我的Glassfish安装确实有一个jdbc / cookbook JDBC资源。现在,我添加了以下代码,因为Glassfish堆栈跟踪不太有用:

@Override
public long countryCount() {
    try
    {
    return eao.countCountries();
    }
    catch(Exception e)
    {
        Throwable t = e.getCause();

        while(t != null)
        {
            System.out.println(t.getMessage());
            t = t.getCause();
        }
    }

    return -1;
}

这是输出:

INFO: Exception thrown from bean: java.lang.VerifyError: Expecting a stackmap frame at branch target 16 in method com.davidlacerte.cookbook.entity.City._persistence_checkFetched(Ljava/lang/String;)V at offset 5
INFO: Expecting a stackmap frame at branch target 16 in method com.davidlacerte.cookbook.entity.City._persistence_checkFetched(Ljava/lang/String;)V at offset 5

我用Google搜索了“除了堆栈图框...”错误,许多博客建议在我的虚拟机参数中添加-XX:-UseSplitVerifier参数:我做了,没有运气。

所以,这就是我所知道的,而且我现在所做的一切。正如我所说,我对EJB和Glassfish了解不多,所以如果你需要更多信息,请问。我在这里有点生气。

编辑:只需重新阅读服务器日志即可找到:

WARNING: Container org.glassfish.webservices.JAXWSContainer@3dbfc326 doesn't support class com.sun.xml.ws.api.server.Module

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

好的,我讨厌这个,但我降级到1.6 JDK,它的工作完美。由于缺乏更好的解决方案(我更喜欢运行最新和最好的解决方案),请使用1.6版本。