我看到有从开源的Java编写的软件从一个可执行文件运行。一个例子是PDFsam。它与我学到的有关Java是一种多平台,字节码编译语言的知识相矛盾。我很困惑。有人可以解释吗?Java编写的软件项目如何最终成为可执行文件?
2
A
回答
2
通常,Java程序通过调用Java字节码解释器来运行,例如,
java -cp myprogram.jar
这对任何支持JDK的平台都有效(至少在理论上)。
但是一些程序(如Eclipse)添加平台特定的代码,以便它看起来更好,在Windows/Mac上运行得更顺畅。
这通常通过.jar文件中的.exe包装来完成。
所以总结起来:
程序,提供一个.exe文件(或的.app)文件中直接执行不是100%的Java。
1
您是否熟悉gcj?这是将Java代码编译成可执行文件的一种方法。还有其他的方法。
2
看起来像一个安装.exe给我,而不是项目本身。我只是下载并运行它。它将代码安装到我的系统中;这是所有的Java下面。
貌似起动器是一个.exe文件太多,但它是使用Java Swing的UI:
PDF Split and Merge basic
Version: 2.2.1
Console version: 2.4.0e
Developed by: Andrea Vacondio
Build date: 31-Oct-2010
Java home: C:\Program Files\Java\jre6
Java version: Java(TM) SE Runtime Environment 1.6.0_21-b07
Max memory: 247Mb
Configuration file: C:\Program Files\pdfsam\pdfsam-config.xml
Website: http://www.pdfsam.org
-1
当然,还有各种方式将汇编成可执行文件进行优化的Java程序。请记住,这意味着它是专门针对该平台编译的。正如你正确地指出的那样,Java的优点(只写一次,在任何地方运行)都会丢失。但是,如果您希望运行一个封闭的系统来控制硬件和服务器环境,那么提取每盎司的性能可能很重要。
0
最有可能这个应用程序只是一个可执行的启动程序,而不是用所有必要的参数调用java虚拟机。一些软件,你可以看看这样做是:
- JSmooth
- Jar2Exe
- Launch4j
这个网站解释了很多关于可执行Java文件。 http://www.excelsior-usa.com/articles/java-to-exe.html
0
您链接到的项目包括启动JVM的批处理文件(Windows)和shell脚本(* nix)。如果你查看bin
目录,你会看到它们。
相关问题
- 1. 如何编写生成文件以在不同的目录中生成目标文件和可执行文件?
- 2. 如何从Eclipse插件项目生成可执行文件.jar?
- 3. 把我的java项目变成可执行文件
- 4. 如何为Java上编写的程序创建可执行文件?
- 5. 生成最快的可执行文件
- 6. 如何为Odoo项目创建可执行文件?
- 7. 如何为php项目创建.exe可执行文件
- 8. 如何在可执行文件完成时将可执行文件的输出写入文件?
- 9. 好的软件和编写可执行规格的技巧
- 10. 最好的方式执行内部文件到Java项目
- 11. 如何在java中编写文件索引软件?
- 12. 如何将C文件编译为可执行文件(.exe)?
- 13. 用java编写的软件进行数字签名集成
- 14. 如何编写复杂的可执行文件?
- 15. 许可软件作为开源软件,但对已编译的可执行文件收费?
- 16. 如何在目录中找到最新的可执行文件
- 17. 如何为自动化目的编写软件?
- 18. 如何在我的项目中嵌入可执行文件
- 19. 如何设置项目的可执行文件名?
- 20. 如何编写打字稿可执行文件?
- 21. 为不同目录中的源文件编写生成文件
- 22. 如何为包含多个包和库的项目生成可执行文件.jar文件?
- 23. 为mac编写.net软件
- 24. g ++为windows生成可执行文件
- 25. 软件BOT,“始终运行的可执行文件”和软件服务器有什么区别?
- 26. 如何确定C#Visual Studio项目生成的可执行文件和DLL?
- 27. SqlCipher编译为Win可执行文件
- 28. 如何编写bat文件以执行.sql文件
- 29. 如何将我的Java程序作为可执行文件运行.jar文件?
- 30. 如何使Android应用程序成为可执行文件,如Java中的JAR?
不!现在我很高兴听到它。你知道那个使用gcj的着名项目吗? – Yakob 2011-04-26 22:26:35