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

2024-02-21

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

我该怎么做呢?

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

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

Note我还使用Mysql数据库,我必须将其上传到服务器端。

*Update:另一个相关问题:

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

我可以使用 php 来运行 Jar 吗? (在线网站是Link http://akhbarna.com/ar/。我想创建一个文件夹http://akhbarna.com/MyPrject/ http://akhbarna.com/MyPrject/...然后将 Jar 放在那里并通过 Php 运行它。 是否可以?这会对在线网站产生什么影响?


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

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

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

在我们了解更多细节之前,首先,构建、发布和部署领域的术语往往严重超载。为了澄清一下,在下面的答案中我的意思如下:

  • 工件 - 项目生成的 jar、war、zip、包等。
  • 发布 - 构建代码以创建工件并部署它。
  • 部署 - 将工件上传到存储库。
  • 安装 - 从存储库中获取工件并将其放在服务器上以便可以运行。

我假设您是从头开始并在专业环境中工作。

首先要做的就是准备您的服务器。就像您在桌面上所做的那样,您将需要安装一些软件 - 如果您正在构建 Web 应用程序,则至少需要安装 Java 和 MySQL 以及 Servlet 容器(例如 Tomcat)。您有两种选择,要么手动进行这些安装,要么使用类似的工具Puppet http://info.puppetlabs.com自动化它们 - 我建议后者,因为一旦设置完毕,您可以在几分钟而不是几天内构建服务器。

然后您将需要某种独立于 IDE 的构建过程。当前流行的工具是Maven http://maven.apache.org/ or Gradle http://www.gradle.org/。构建的目的是生成一个工件,其中包含必须添加到服务器才能安装应用程序的所有内容。对于独立应用程序,这可能是一个 zip,其中需要相当于一个磁盘映像(jar、配置、启动/停止脚本);对于 Web 应用程序,这可能是一个 war,其中是网络应用程序的标准部署结构。

接下来,您将需要对应用程序和数据库脚本进行某种发布过程。我最熟悉的是 Maven,它能够创建 jar、war、专有的 zip 或包,并且通过使用它的发布插件 http://maven.apache.org/maven-release/maven-release-plugin/,执行所有更新、VCS 标记和部署(到存储库中,例如Nexus http://www.sonatype.org/nexus/)需要执行发布。数据库有点棘手,通常由将应用数据库更改的 DBA 指定 - 通常您最终会得到创建和修改数据库所需的脚本以及以正确顺序运行这些脚本的主脚本。将它们放入压缩包中并放入存储库中以便安全保存。

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

最后你可以启动你的系统了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从 Netbeans 中将 jar 文件部署到远程服务器上? 的相关文章

  • 如何将本机库链接到 IntelliJ 中的 jar?

    我正在尝试在 IntelliJ 中设置 OpenCV 但是我一直在弄清楚如何告诉 IntelliJ 在哪里可以找到本机库位置 在 Eclipse 中 添加 jar 后 您可以在 Build Config 屏幕中设置 Native 库的位置
  • 序列的排列?

    我有具体数量的数字 现在我想以某种方式显示这个序列的所有可能的排列 例如 如果数字数量为3 我想显示 0 0 0 0 0 1 0 0 2 0 1 0 0 1 1 0 1 2 0 2 0 0 2 1 0 2 2 1 0 0 1 0 1 1 0
  • Mockito:如何通过模拟测试我的服务?

    我是模拟测试新手 我想测试我的服务方法CorrectionService correctPerson Long personId 实现尚未编写 但这就是它将执行的操作 CorrectionService将调用一个方法AddressDAO这将
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • 如何获取之前的URL?

    我需要调用我的网络应用程序的 URL 例如 如果有一个从 stackoverflow com 到我的网站 foo com 的链接 我需要 Web 应用程序 托管 bean 中的 stackoverflow 链接 感谢所有帮助 谢谢 并不总是
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • volatile、final 和synchronized 安全发布的区别

    给定一个带有变量 x 的 A 类 变量 x 在类构造函数中设置 A x 77 我们想将 x 发布到其他线程 考虑以下 3 种变量 x 线程安全 发布的情况 1 x is final 2 x is volatile 3 x 设定为同步块 sy
  • Java ResultSet 如何检查是否有结果

    结果集 http java sun com j2se 1 4 2 docs api java sql ResultSet html没有 hasNext 方法 我想检查 resultSet 是否有任何值 这是正确的方法吗 if resultS
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 最新的 Hibernate 和 Derby:无法建立 JDBC 连接

    我正在尝试创建一个使用 Hibernate 连接到 Derby 数据库的准系统项目 我正在使用 Hibernate 和 Derby 的最新版本 但我得到的是通用的Unable to make JDBC Connection error 这是
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 如何使用mockito模拟构建器

    我有一个建造者 class Builder private String name private String address public Builder setName String name this name name retur
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp

随机推荐