Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用多种语言创建大型可部署程序?_Java_Eclipse_Deployment_Executable - Fatal编程技术网

Java 如何使用多种语言创建大型可部署程序?

Java 如何使用多种语言创建大型可部署程序?,java,eclipse,deployment,executable,Java,Eclipse,Deployment,Executable,嗨,这是我在stackoverflow上的帖子 我通常是一个潜伏者,在没有发帖的情况下找到了我需要的一切,但当我试图想象这是如何工作的时候,我只是画了一些空白。如果有人能提供一些见解,我将不胜感激 因此,我了解软件开发周期,并对代码有相当的了解 C++和java,Visual Basic,我是CIS专业的,去年有CS小调。我可以用Java在elipse中编写一些程序,甚至可以用Java在eclipse中制作一些基本的GUI组件 现在谈谈我的三个部分的问题:我知道一个人可以从几个.java文件中创

嗨,这是我在stackoverflow上的帖子

我通常是一个潜伏者,在没有发帖的情况下找到了我需要的一切,但当我试图想象这是如何工作的时候,我只是画了一些空白。如果有人能提供一些见解,我将不胜感激

因此,我了解软件开发周期,并对代码有相当的了解 C++和java,Visual Basic,我是CIS专业的,去年有CS小调。我可以用Java在elipse中编写一些程序,甚至可以用Java在eclipse中制作一些基本的GUI组件

现在谈谈我的三个部分的问题:我知道一个人可以从几个.java文件中创建一个.jar并分发它,但是当考虑一个像yahoo messenger这样的通用程序时,我想到了以下三个部分的问题:

首先,您是否可以使用Java在eclipse中编写一个类似yahoo messenger的程序,或者您是否需要其他工具,如其他语言和其他开发环境,项目从开始到结束是如何进行的?我想我有点迷路了,因为我只写过命令行和简单的GUI应用程序

第二,如果说使用不同的语言在yahoo messenger中创建一个功能比较容易,那么如何用多种语言编写一个程序呢?例如,你想用Python或C++编写一些代码,你的代码大部分在java中,即你的主要方法是java,你使用JVM编译。假设你不能只在java程序中使用Python或C++代码,我就在java中进行了一些搜索,看到了一些关于编译器和包括本地代码的内容,以在Java项目中包含其他语言代码。如果解释太长,链接到其他阅读材料也是可以接受的

第三,部署是如何工作的?假设我已经完成了为我的程序编写代码的工作,并希望将其转换为适用于windows用户的.exe,然后将其粘贴到我的网站上供人们下载。我知道windows内置了一个iexpress实用程序来创建.exe。除了分发一个.jar之外,如何将源代码转换成exe?再次感谢您的投入和时间。我是一个初学者,我试图把我的头脑围绕在这些概念上。答案可以在技术领域提供,也可以只是概念性的,无论是哪一个都非常受欢迎

-标记

一些IM客户端是用java编写的,虽然我会猜测主流的大多数都是用C++、C++或MAC Objto-C编写的。 用多种语言编写一个程序有许多挑战,挑战的性质取决于您想要使用的语言组合。在许多情况下,您可能不会很幸运地将两种以上的语言组合在一起。一组阻抗问题已经够糟糕的了,三组几乎肯定是灾难。 您可以通过将单个应用程序拆分为多个程序来避免这些问题,每个程序都用一种语言编写,并通过某种IPC机制与其他程序通信。 创建exe也是一个非常特定于语言的问题。例如,Java、C、C/C++和Python都有完全不同的部署故事。 假设我已经完成了为我的程序编写代码的工作,并希望将其转换为适用于windows用户的.exe,然后将其粘贴到我的网站上供人们下载

那样的话,我会说你很愚蠢


是部署基于Java的富客户端应用程序的更好选择。从一个网站。JWS适用于任何使用Java的平台。

1在大多数情况下,您可以用Java编写程序,而无需任何其他编程语言。有一些非常罕见的情况,需要从java调用DLL与一些专有程序接口,为此,您需要使用JNI和C++或C++。使用多种语言可能更常见的情况是向应用程序添加脚本能力。例如,我的公司提供了一个可由用户使用Groovy编写脚本的服务器/客户机应用程序,但服务器和富客户机本身仅用Java编写

2 java与另一种编程语言的集成依赖于另一种语言。集成Groovy很容易,我认为使用JPython集成Python或使用JRuby集成Ruby相当容易。但这是一种努力,不提用不同语言编程的精神压力,我不建议这样做,除非对此有具体要求

3一如既往,有几种选择。有关创建windows可执行文件的信息,请参见。或者,您可以使用NSIS等创建windows installer。或者使用JavaWebStart

如果这个问题背后的目的是了解一些大型java富客户端桌面应用程序是如何编写和部署的,我建议使用。本书将指导您使用EclipseRCP框架开发和部署XMPP/Jabber messenger客户端。请注意,创建大型应用程序没有一种真正的方法
on和其他java应用程序框架的工作方式有所不同

这个问题太广泛了。试着问一些更具体的问题。至少要分别问不同的问题。我知道这是一个宽泛的问题。我只是希望得到概念上的答案,因为应用程序用多种语言编写是很常见的,而且有标准的程序是一个更详细的链接。马塞洛,谢谢你的洞察力。这有助于澄清我在研究大规模应用程序时遇到的一些问题。就跨多个程序的单个应用程序而言,这意味着yahoo messenger中的聊天功能是用c编写的,而avatar则是用java编写的,它们是yahoo messenger的不同程序或部分,但仍然是同一应用程序的一部分。我阅读了IPC的wiki,了解到有一些工具设计用于交错或连接用不同语言编写的部分应用程序。谢谢。@Kram:是的,这就是我的想法。直到最近,这才成为一种常见的方法,像Google Chrome这样的应用程序出于安全性和稳定性的原因将每个http域划分为自己的进程,在这种情况下,不是语言互操作。安德鲁,哈哈,我想我有点傻。我在google上找到了一篇很好的文章,介绍了通过web或作为可执行文件部署java应用程序的各种不同方法。JAR和那些似乎是首选方法。我还问了我的一位教授,他同意你的web start方法。谢谢Jens谢谢你的澄清。您使其中一些主题更容易理解。如何将java程序转换为exe的线程非常好。我在谷歌上找到了一篇关于它的好文章,但在发布之前,我应该在论坛上查找这条线索。如果我想这样做,NSIS看起来是一个很好的工具,可以部署在exe中。我在亚马逊上找到了这本书,并购买了它。再次感谢你回答我的问题。