首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gij (GNU libgcj)版本

gij (GNU libgcj)版本
EN

Stack Overflow用户
提问于 2014-10-07 16:03:24
回答 1查看 362关注 0票数 0

祝大家日安!我写了一个简单的程序:

代码语言:javascript
复制
import java.lang.System;

public class hello{
  public static void main(String[] args){
     System.out.println("Hello World");
  }
}

如果在本地服务器上运行,则可以很好地工作。但当我像这样远程访问这个程序时,我会遇到问题:

代码语言:javascript
复制
ssh remote_machine "java hello"

我得到下面的错误:

代码语言:javascript
复制
  Exception in thread "main" java.lang.NoClassDefFoundError: hello
at gnu.java.lang.MainThread.run(libgcj.so.7rh)
Caused by: java.lang.ClassNotFoundException: hello not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./],    parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
at java.net.URLClassLoader.findClass(libgcj.so.7rh)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at gnu.java.lang.MainThread.run(libgcj.so.7rh)

我发现这是因为jvm版本和代码编译的java版本不一致。发生不一致是因为当我创建和编译机器使用Java1.5的代码时,但当我远程访问它时,它通过"gij (GNU libgcj) version 4.1.2 20080704“使用Java1.4。

问:当我远程访问时,有没有可能绕过"gij (GNU libgcj) 4.1.2 20080704版“,使用最初使用的java版本?

EN

回答 1

Stack Overflow用户

发布于 2014-10-07 16:34:39

1.6 Code Generation

除了控制代码生成的许多gcc选项之外,

还有几个特定于其自身的选项。

  • -C此选项用于通知gcj生成字节码(.class文件),而不是生成目标代码。

..。

gcj可以与-C一起使用,以选择

  • -ftarget=VERSION发出的字节码版本。默认值为‘1.5’。不生成字节码时,此选项无效。

因此您可以结合使用-Cftarget=1.4选项来为版本1.4生成字节码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26231314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档