如何从命令行在JBoss WildFly上构建,部署和运行Java应用程序?

时间:2019-06-06 20:31:25

标签: java eclipse bash maven wildfly

我的团队正在研究在Jboss WildFly上运行的Java应用程序,并使用Maven来解决依赖关系和Primefaces。

我们正在使用Eclipse构建,部署和运行服务器。 Eclipse完成了大部分工作,构建了WAR文件,将其部署到服务器上并运行它。

现在,我们需要创建一个执行所有这些步骤的脚本,因为它必须在远程服务器上运行。

步骤将是这样...

1运行Maven:  $ M2_HOME / bin / mvn全新安装

2将项目构建到战争文件

3将war文件部署到WildFly部署文件夹中 $ WILDFLY_HOME / bin / jboss-cli.sh --connect --command =“ deploy --force [PATH_TO_WAR]”

4启动服务器 $ WILDFLY_HOME / bin / standalone.sh

我可以执行所有步骤,但是一旦服务器运行,应用程序似乎就没有任何变化。我认为这是因为必须构建WAR文件以针对JBoss对其进行优化。 Eclipse可以在导出项目时执行此操作。我需要知道如何从命令中做到这一点。

编辑:

真正的问题是,当我从bash脚本运行Jboss时,它没有更新已发布的项目。我以为是因为我必须以特定的方式构建它。我错了。构建很好,只需运行Maven即可完成部署。问题是,即使我重建项目并重新部署它,服务器也似乎根本没有注意到。

我尝试从独立文件夹中删除tmp,lib和data文件夹,但没有任何反应。我还删除了独立/已部署的子文件和文件夹,并得到了相同的结果。

获得预期结果的唯一方法是进入Eclipse,转到“服务器”选项卡,右键单击JBoss Wildfly,然后单击“清理...”。此选项似乎以我不知道的正确方式清理缓存,重建并重新发布应用程序。我在Google上找不到任何答案。

eclipse server clean option

1 个答案:

答案 0 :(得分:2)

看看Eclipse war export: optimize for a specific server runtime

引用@Konstantin Komissarchik的答案:

  

Eclipse本身对该选项不做任何事情。发生的是   取决于特定的服务器适配器。许多适配器不   使用此选项也可以执行任何操作,但将来可能会使用。

     

如果服务器适配器确实支持导出优化,则它具有   在该弹出菜单的下方显示自定义选项的选项   运行时,所以这是一个很好的提示,可以用来查看是否会   真的发生了。

因此,考虑到在您提供的图像中,Wildfly 9选择项下没有自定义选项,我非常确定此选项在您的出口战争中不会执行任何优化,因此您可以在新的构建部署中完全省略它处理。

  

知道要在Wildfly上运行的情况下,如何从命令中构建战争文件?

我们还将以与您计划的相同方法在Widlfy的多个版本上长时间部署应用程序,而无需进行优化。我可以向您保证我们不会遇到任何性能问题。