如何从Netbeans内部远程服务器上部署jar文件?

我开发了一个服务器[server.jar],它现在运行良好(在我的localhost上)。 现在我想把这个server.jar“放”在我的远程服务器上(即:122.152.12.33)并在那里运行,所以我的客户端应用程序用这个ip替换“Localhost”并连接[server.jar] …

我该怎么办?

我找到了答案但却不理解它们(WAR?和一些配置)。

我正在使用NetBeans IDE。 部署Jar文件并使用netbeans转换为war。

注意我也使用Mysql数据库,我必须在服务器端上传它。

*更新:另一个相关问题:

如果我想在现有网站(Wordpress发布的网站)上尝试我的server.jar,只需将我的项目添加到文件夹中,这可能会损害在线网站吗?

我可以用php来运行Jar吗? (在线的网站是链接 。我想创建一个文件夹http://akhbarna.com/MyPrject/ …然后将Jar放在那里并通过Php运行它。它可能吗?这可能会如何影响在线网站?

在IDE中运行距离发布和工作还有很长的路要走;-)

你的问题非常笼统,所以我的答案也很笼统,但涵盖了基本方法。

关键是要考虑在全新的台式PC上运行hello world应用程序需要什么 – 你需要安装Java,创建一个包含你的应用程序的文件夹和一些运行程序的脚本然后将你的jar复制到新的台式PC并运行这些脚本。 它在服务器上没有什么不同,只有你可能会使用第三方库,并且可能安装的不仅仅是Java。

在我们获得更多细节之前,首先,构建,发布和部署空间中的术语往往会被严重超载。 澄清一下,在下面的答案中我的意思是:

  • 神器 – 由项目生成的jar,war,zip,package等。
  • 发布 – 构建代码以创建工件并部署它。
  • deploy – 将工件上载到存储库。
  • 安装 – 从存储库中获取工件并放置服务器以便可以运行它。

我假设你是从头开始,并在一个专业的环境中工作。

首先要做的是准备你的服务器。 就像你使用桌面一样,如果你正在构建一个web-app,你将需要安装一些软件 – 至少Java和MySQL以及一个Servlet容器,如Tomcat。 您有两个选择,要么手动执行这些安装,要么使用像Puppet这样的工具来自动化它们 – 我建议使用后者,因为一旦设置完成,您可以在几分钟而不是几天内构建服务器。

然后,您将需要某种与IDE分离的构建过程。 目前流行的工具是Maven或Gradle 。 构建的目的是生成一个工件,其中包含必须添加到服务器的所有内容,以便安装应用程序。 在独立应用程序的情况下,这可能是一个zip,需要相当于其中的磁盘映像(jar(s),配置,启动/停止脚本)或者在web-app的情况下是战争,是Web应用程序的标准部署结构。

接下来,您将需要某种适用于您的应用程序和数据库脚本的发布过程。 我最熟悉Maven能够创建jar子,战争,专有拉链或包,并且使用其Release Plugin执行所有更新,VCS标记和部署(进入Nexus等存储库)执行发布。 数据库有点棘手,通常由将应用数据库更改的DBA决定 – 通常最终会得到创建和修改数据库所需的脚本以及以正确顺序运行这些脚本的主脚本。 将它们以zipforms弹出并存入存储库以便安全保存。

一旦发布,您需要一些方法从存储库中获取工件并将它们安装到服务器上。 显然这可以手动完成或使用脚本完成,但我再次建议使用Puppet ,至少对于目标服务器上的工件。 使用数据库脚本,虽然这也可以自动化,但更常见的是连接到数据库并使用数据库控制台手动应用脚本(在安装新版本之前不要忘记备份代码和数据库)。

最后,您可以启动您的系统。

首先,您需要在服务器中安装数据库(通过ssh访问)

然后你需要在服务器上复制jar(sftp,scp …)并在其上安装一个JVM(如果还没有安装 – >你可以检查它执行java -v)

在那之后,就像Brierson说的那样,你需要运行你的jar(java -jar server.jar)。

您可能需要添加jar所需的一些库(定义类路径, 在此处说明)

如果你的jar是服务器,那么在执行时它可能会绑定到一个端口(例如,端口8080)。 要连接到远程服务器中的应用程序,您需要将客户端发送到122.152.12.33:8080(IP:端口)

您的服务器可能有防火墙,因此您可能需要打开服务器应用程序的端口(8080)。