截至2010年10月,GNU的Java编译器死了吗?是否有任何有效的替代方案(特别是将Java编译为本机代码)?
LLVM解决方案将是首选.
我已经在Windows 7上安装了CYGWIN仿真终端以便使用GCC,我知道它可以编译太多语言,我可以正确使用它但不知道如何用它来编译java文件?
嗨,我想为我的Java应用程序创建一个exe文件.
我尝试了一些第三方软件JEXECreator,成功创建了exe文件,并且在我的系统中工作正常,当我尝试使用另一台机器时,它无法正常工作.我收到以下错误
* The error occurred while running the application. The exit code is 0x10000223.
* Contact the vendor of the application for troubleshooting.
java.lang.ClassNotFoundException: com.sample.SampleMain
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.ucware.JEXEClassLoader.run(Unknown Source)
at com.ucware.JEXEClassLoader.main(Unknown Source)
**************************************
Run Code Online (Sandbox Code Playgroud)
我知道我设置的类路径有问题.
实际上我想自己创建exe文件而不使用任何第三方软件.
我在很多站点找到了步骤
使用以下内容创建名为Sample.mft的清单文件
Manifest-Version: 1.0
Main-Class:
Class-path:
Run Code Online (Sandbox Code Playgroud)
在这我有一些疑虑,
应该如何添加Main-Class,包括完整的包名(com.sample.SampleMain)或类名(SampleMain)或扩展名(SampleMain.class)
如何添加类路径,我的项目中有4个java类和2个jar.如何在类路径中添加所有这些,我是否需要在类路径中添加java jdk.
应该保存清单文件的位置
什么应该是清单文件扩展名(mf或mft)
在命令提示符下我应该从哪个目录创建exe文件(从我的项目文件夹或src文件夹或包含所有java类的文件夹)
在命令提示符下创建jar时应该使用什么语法
(jar cmf Sample.mf Sample.jar …
可能重复:
为什么没有更多本地编译的Java软件?
我知道Java是字节码编译的,但是在使用JIT时,它会将"热点"编译为本机代码.为什么没有选项将程序编译为本机代码?
我一直在寻找关于此的许多类似帖子,但我仍然找不到答案.我想将.java程序转换为Linux可执行文件,不带.jar扩展名.我该怎么做?我正在尝试使用Launch4j java包装器,JWrapper,IzPack,制作.sh,制作.bat,使用java -jar myFile.jar等运行它,但它们都没有工作.有些程序复杂且难以调试.有没有直接的方法将.java文件或.jar文件转换为Linux可执行文件?
我需要将此程序作为Linux可执行文件整体传递到另一个程序中,该程序将此程序作为参数.
我在 ubuntu 16.04 中使用 pdftk 库来合并几个 pdf。一切正常,当我安装 SSL 证书时出现此错误:
Error: Unexpected Exception in open_reader()
java.lang.RuntimeException: java.lang.RuntimeException: error instantiating
default socket factory: java.security.KeyManagementException:
java.security.KeyStoreException: java.io.FileNotFoundException:
/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre/lib/security/cacerts (No such file or
directory)
at javax.net.ssl.SSLSocketFactory$ErrorSocketFactory.createSocket(libgcj.so.16)
at gnu.java.net.protocol.http.HTTPConnection.getSocket(libgcj.so.16)
at gnu.java.net.protocol.http.HTTPConnection.getOutputStream(libgcj.so.16)
at gnu.java.net.protocol.http.Request.dispatch(libgcj.so.16)
at gnu.java.net.protocol.http.HTTPURLConnection.connect(libgcj.so.16)
at gnu.java.net.protocol.http.HTTPURLConnection.getInputStream(libgcj.so.16)
at java.net.URL.openStream(libgcj.so.16)
at pdftk.com.lowagie.text.pdf.RandomAccessFileOrArray.<init>(pdftk)
at pdftk.com.lowagie.text.pdf.PRTokeniser.<init>(pdftk)
at pdftk.com.lowagie.text.pdf.PdfReader.<init>(pdftk)
at pdftk.com.lowagie.text.pdf.PdfReader.<init>(pdftk)
Caused by: java.lang.RuntimeException: error instantiating default socket
factory: java.security.KeyManagementException: java.security.KeyStoreException:
java.io.FileNotFoundException: /usr/lib/jvm/java-1.5.0-gcj-5-
amd64/jre/lib/security/cacerts (No such file or directory)
at javax.net.ssl.SSLSocketFactory.getDefault(libgcj.so.16)
at javax.net.ssl.HttpsURLConnection.getDefaultSSLSocketFactory(libgcj.so.16)
at javax.net.ssl.HttpsURLConnection.getSSLSocketFactory(libgcj.so.16)
Run Code Online (Sandbox Code Playgroud)
经过多次研究,我发现问题来自 https 链接。当我使用带有https …