我的团队正在研究在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上找不到任何答案。
答案 0 :(得分:2)
看看Eclipse war export: optimize for a specific server runtime。
引用@Konstantin Komissarchik的答案:
Eclipse本身对该选项不做任何事情。发生的是 取决于特定的服务器适配器。许多适配器不 使用此选项也可以执行任何操作,但将来可能会使用。
如果服务器适配器确实支持导出优化,则它具有 在该弹出菜单的下方显示自定义选项的选项 运行时,所以这是一个很好的提示,可以用来查看是否会 真的发生了。
因此,考虑到在您提供的图像中,Wildfly 9选择项下没有自定义选项,我非常确定此选项在您的出口战争中不会执行任何优化,因此您可以在新的构建部署中完全省略它处理。
知道要在Wildfly上运行的情况下,如何从命令中构建战争文件?
我们还将以与您计划的相同方法在Widlfy的多个版本上长时间部署应用程序,而无需进行优化。我可以向您保证我们不会遇到任何性能问题。