如何判断使用哪个版本的Java编译器构建jar?我有一个jar文件,它可以在三个JDK中的任何一个中构建.我们需要确切地知道哪一个,所以我们可以证明兼容性.编译器版本是嵌入在类文件或jar中的某个位置吗?
你们有没有人知道一个工具会搜索.class文件然后显示他们的编译版本?
我知道你可以在十六进制编辑器中单独查看它们,但我有很多类文件要查看(我的巨型应用程序中的某些东西由于某种原因编译为Java6).
这可能是一个愚蠢的问题,但是我会遇到运行Java程序和Java版本1.6 和 1.7中编译的相关库的任何问题(我使用1.7进行编译,而有些库使用1.6编译)并在1.7 JRE中运行整个程序?
是否有任何Java API来查找为其编译的类文件的JDK版本?当然有javap工具可以找到这里提到的主要版本.但是,我想以编程方式执行此操作,以便我可以警告用户为适当的JDK编译它
我收到了这个错误
java.lang.UnsupportedClassVersionError:JVMCFRE003糟糕的主要版本; class = map/CareMonths,offset = 6
我的Eclipse的Java编译器设置为1.6
我在C:\ Program Files中安装的Java SDK 1.6.0
,但是当我将我的应用程序安装到Webshere Application Server V7时,我仍然遇到此错误.
什么offset=6
意思?我想使用Java 6进行编译,而Websphere 7则支持Java 6.
我确实看到安装服务器的IBM目录中的JDK是Java 7.这是导致这种情况的原因吗?....但我的工作区的Eclipse编译器再次设置为Java 1.6
.
在我的系统(Ubuntu 10.04)中java运行正常,但是我无法运行javap命令
我有complile Foo
类和.class文件路径位于
/ home/mahesh/java/opt
当我执行
javap -c Foo.class
I获取以下错误消息:
错误:找不到Foo.class
是否需要设置任何环境变量或任何其他东西来解决它.我的$ PATH变量的目标是:
/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games:/ usr/lib/jvm/bin /
谢谢.
如果我有一个已编译的Java类,有没有办法从类文件中告诉它的目标版本兼容性是什么?具体来说,我有许多编译为Java 6的类文件,它们在Java 5下运行并给出"无法识别的版本"错误.我希望能够在不运行JVM的情况下查看类文件并找到其目标版本兼容性.有任何想法吗?
我有tomcat 7的这些错误.我正在使用JDK 1.6上传到服务器并运行Tomcat 7.02X我随时都会收到这些错误.这是什么意思?
ERROR1
信息:部署Web应用程序存档user2.war 2012年6月8日上午2:51:30 org.apache.catalina.core.ContainerBase addChildInternal SEVERE:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:无法启动组件[ StandardEngine [Catalina] .StandardHost [yuppie.com] .StandardContext [/ user2]],位于org.apache.catalina.core.ContainerBase.addChildInternal的org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:152) ContainerBase.java:812)org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:787)org.apache.catalina.core.StandardHost.addChild(StandardHost.java:607)atg.apache.catalina .startup.HostConfig.deployWAR(HostConfig.java:932)
它也发生了这个错误
引起:java.lang.UnsupportedClassVersionError:com/yuppie/Populator:不支持的major.minor版本51.0(无法加载类com.yuppie.Populator)org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2824 )org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1150)
我为列出错误而道歉.我知道它在这个社区非常讨厌,但我不知道这些错误是什么原因.谢谢
最后一个错误
严重:部署Web应用程序存档时出错user2.war java.lang.IllegalStateException:ContainerBase.addChild:start:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine [Catalina] .StandardHost [credify.me] .StandardContext [/ user2]]在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:816)