如何从 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 文件部署到远程服务器上? 的相关文章

  • “java.io.IOException:连接超时”和“SocketTimeoutException:读取超时”之间有什么区别

    如果我设置一个套接字 SoTimeout 并从中读取 当读取时间超过超时限制时 我会收到 SocketTimeoutException 读取超时 这是我的例子中的堆栈 java net SocketTimeoutException Read
  • 获取文件的锁

    我想在对特定文件开始 threo read 时获取文件上的锁定 以便其他应用程序无法读取已锁定的文件并希望在线程终止时释放锁定文件 您可以获得一个FileLock https docs oracle com javase 8 docs ap
  • 带有 Android 支持库 v7 的 Maven Android 插件

    我使用 maven android plugin 构建我的 android 应用程序 它依赖于 android 支持库 v4 和 v7 由于我没有找到如何从developer android com下载整个sdk 因此我无法使用maven
  • Oracle Java 教程 - 回答问题时可能出现错误

    我是 Java 新手 正在阅读 Oracle 教程 每个部分之后都有问题和答案 我不明白一个答案中的一句话 见下面的粗体线 来源是https docs oracle com javase tutorial java javaOO QandE
  • 如何使用 JAVA 代码以编程方式捕获线程转储?

    我想通过 java 代码生成线程转储 我尝试使用 ThreadMXBean 为此 但我没有以正确的格式获得线程转储 因为我们正在使用jstack命令 请任何人提供一些帮助 他们是否有其他方式获取线程转储 使用任何其他 API 我想要的线程转
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • Reactive Spring 不支持 HttpServletRequest 作为 REST 端点中的参数?

    我创建了一个 RestController 如下所示 RestController public class GreetingController RequestMapping value greetings method RequestM
  • 文本在指定长度后分割,但不要使用 grails 打断单词

    我有一个长字符串 需要将其解析为长度不超过 50 个字符的字符串数组 对我来说 棘手的部分是确保正则表达式找到 50 个字符之前的最后一个空格 以便在字符串之间进行彻底的分隔 因为我不希望单词被切断 public List
  • 从 MS Access 中提取 OLE 对象(Word 文档)

    我有一个 Microsoft Access 数据库 其中包含一个包含 Microsoft Word 文档的 OLE 对象字段 我试图找到代码来检索保存在 OLE 对象中的文件 以便用户可以从我的 JavaFx 应用程序中的按钮下载它 但没有
  • Java中的断点和逐步调试?

    抱歉我的问题名称很奇怪 我不知道如何寻找这个 因为我不知道这些东西是如何称呼的 Visual Studio 中至少有一个功能 您可以单击代码左侧并设置一个大红点的起点 然后运行程序 您可以通过按 f8 或 f5 实际上是不同的 f 来跟踪步
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • 是否可以从 servlet 内部以编程方式设置请求上下文路径?

    这是一个特殊情况 我陷入了处理 企业 网络应用程序的困境 企业应用程序正在调用request getContext 并将其与另一个字符串进行比较 我发现我可以使用 getServletContext getContextPath 获取 se
  • 从直方图计算平均值和百分位数?

    我编写了一个计时器 可以测量任何多线程应用程序中特定代码的性能 在下面的计时器中 它还会在地图中填充花费了 x 毫秒的调用次数 我将使用这张图作为我的直方图的一部分来进行进一步的分析 例如调用花费了这么多毫秒的百分比等等 public st
  • 当 minifyEnabled 为 true 时 Android 应用程序崩溃

    我正在使用多模块应用程序 并且该应用程序崩溃时minifyEnabled true in the installed模块的build gradle 以下是从游戏控制台检索到的反混淆堆栈跟踪 FATAL EXCEPTION Controlle
  • Spring Data JPA:查询如何返回非实体对象或对象列表?

    我在我的项目中使用 Spring Data JPA 我正在演奏数百万张唱片 我有一个要求 我必须获取各种表的数据并构建一个对象 然后将其绘制在 UI 上 现在如何实现我的 Spring 数据存储库 我读到它可以通过命名本机查询来实现 如果指
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 如何停止执行的 Jar 文件

    这感觉像是一个愚蠢的问题 但我似乎无法弄清楚 当我在 Windows 上运行 jar 文件时 它不会出现在任务管理器进程中 我怎样才能终止它 我已经尝试过 TASKKILL 但它对我也不起作用 On Linux ps ef grep jav
  • Java - 从 XML 文件读取注释

    我必须从 XML 文件中提取注释 我找不到使用 JDOM 或其他东西来让它们使用的方法 目前我使用 Regex 和 FileReader 但我不认为这是正确的方法 您可以使用 JDOM 之类的东西从 XML 文件中获取注释吗 或者它仅限于元
  • 如何在Java中对对象数组进行字段级别排序以进行等级比较?

    In Java Class StudentProgress String Name String Grade CTOR goes here main class main method StudentProgress arrayofObje
  • 将对象从手机共享到 Android Wear

    我创建了一个应用程序 在此应用程序中 您拥有包含 2 个字符串 姓名和年龄 和一个位图 头像 的对象 所有内容都保存到 sqlite 数据库中 现在我希望可以在我的智能手表上访问这些对象 所以我想实现的是你可以去启动 启动应用程序并向左和向

随机推荐