在没有安装JDK的系统上编译运行java accpilaction的javacode

时间:2014-03-14 23:52:09

标签: java sockets serversocket

我目前正在编写一个基于客户端服务器的工具。由于IP地址不稳定,我的想法是让服务器应用程序使用正确的服务器IP编译客户端应用程序。

步骤一步:

     
  1. 服务应用程序开始。
  2.  
  3. 用户查看他的服务器计算机当前的IP(这可以通过webbrowser手动完成)。
  4.  
  5. 使用此IP,他创建(编译)一个客户端,该客户端搜索与此IP的连接(一旦启动)。
  6.  
  7. 为了实现这一点,在设置IP之后,有必要编译客户端。
  8.  
  9. 客户端作为后台应用程序运行,没有任何GUI或控制台窗口。因此,在客户端添加IP并不是我搜索的内容。最大的新手应该能够运行客户,他们的工作已经完成。
  10. 我认为我可以解压缩javac(在Java应用程序之外),然后将类写入文件(作为完整的字符串),然后运行控制台命令,该命令使用javac.exe编译可运行的jar文件。但当然不是那么容易。我的问题是我不想将整个JDK-Folder放到服务器应用程序中,只是为了编译客户端。你们中有谁知道如何处理这个问题吗?

    重要的是,我必须与没有安装JDK的计算机作斗争,只需要标准的JRE(当然没有编译器)。

1 个答案:

答案 0 :(得分:2)

这绝对不是解决这个问题的好方法。有几种替代方法可以简化

  1. 将服务器的IP地址或主机名作为参数传递给客户端应用程序(例如,通过命令行)。这根本不需要对客户端进行任何更改,但需要您通过某种方式传递该参数。

  2. 如果您想变得非常聪明,可能会使客户端应用程序的文件名包含IP(例如,作为十六进制值:连接到{{1的客户端)可能被称为127.0.0.1)。但是,您必须确保它没有重命名。

  3. 在客户端JAR文件中嵌入包含服务器IP地址的文本文件。由于JAR只是一个ZIP存档,因此您不需要编译器来执行此操作。