几天后,我正在尝试将新的ear文件部署到Oracle Enterprise Manager 10g。 我一直收到这个错误:
Operation failed with error: WSSERVLET11: failed to parse runtime descriptor:
oracle.classloader.util.AnnotatedClassFormatError:
Illegal class modifiers in class [...]/package-info: 0x1600
[...] jre.bootstrap:1.5.0.16 Code-source: unknown Configuratie: jre bootstrap
要排除它与我的更改有关,我从SVN获得了我的源代码的新副本,但是当我构建新的ear-file并部署时出现相同的错误。 我可以部署原始的ear文件,所以很可能是我的机器上的一些设置。 最初的ear文件已于2009年部署,因此可能有很多变化;)
我正在使用JDevelop 10.1.3.3,该应用程序是一个用JAVA编写的web服务
我比较了原始的ear文件和新的ear文件。使用相同的库。 我确实看到一些.class文件在新的ear文件中有点大。但是比较它们的文本有点困难(至少对我而言)。
有人有任何可能出错的建议吗?
[更多信息]
当我使用上一个ear-file的package-info.class时,我可以部署。 当我反编译这两个文件时,我得到了这个:
不可
package [].endpoint;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;
@XmlSchema(namespace="http://[]/xml/schema/[]/1.0", elementFormDefault=XmlNsForm.QUALIFIED)
interface package-info
{
}
错误
package [].endpoint;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;
@XmlSchema(namespace="http://[]/xml/schema/[]/1.0", elementFormDefault=XmlNsForm.QUALIFIED)
abstract interface package-info
{
}
正如您所看到的,唯一的区别是抽象修饰符。
我的package-info.java已生成,如下所示:
@javax.xml.bind.annotation.XmlSchema(namespace = "http://[]/xml/schema/[]/1.0", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package [].service.endpoint;
我需要做什么才能让我的jdeveloper生成一个合适的package-info.class。