如何使用maven-pax加快部署:提供



我最近开始与大约40名其他开发人员一起进行一个项目。我们将OSGi与ApacheFelix一起使用。我们使用Maven和Maven-pax插件进行构建和部署。OSGi和pax对我来说都是非常新的,所以我不知道关于项目设置的任何细节。

为了部署到我自己的机器上,我使用命令

mvn clean install
mvn pax:provision

pax:provision命令启动paxrunner,日志中的最后一行如下:

 -> Provision bundle [...., at default start level, bundle will be started, bundle will be loaded from the cache]
 -> Preparing framework [Felix 4.0.3]
 -> Downloading bundles...
 -> Using execution environment [NONE]
 -> Runner has successfully finished his job!
Listening for transport dt_socket at address: 5005

在一些正在使用的pc上,在这一行之后大约需要30秒到1分钟,Apache Felix才会启动,并且可以通过浏览器访问该应用程序。然而,在我同事的电脑上,这大约需要8-9分钟,在我的电脑上大约需要16分钟。

在这16分钟内,没有过多的CPU使用或网络流量。似乎什么都没发生。

我曾尝试将日志记录级别更改为调试,这为我提供了大量关于pax runner的信息,但在"侦听传输dt_socket…"之后行,默哀16分钟。在这段时间里,我可以将远程调试器(IntelliJ)连接到服务器,所以一定有一些东西在运行。

我的同事们似乎都不知道这段时间会发生什么,也不知道为什么我们两个人花了这么长时间,而其他人却匆匆忙忙。谷歌也没有给我任何线索,所以我想在这里问一下。

这是一个相当复杂的项目设置,所以我想一次对小块进行编程,并进行大量测试,但必须等待16分钟才能测试一个小的更改,这当然会扼杀生产力。

我希望有人能帮我。非常感谢。

查看捆绑包是否都显示得很好。通过访问Felix控制台并发出"ps"、"scr-info"命令或放入Web控制台。

一旦所有捆绑包都被解析并激活,然后开始查看特定于应用程序的日志/事件,以确定它是否可以运行。

我认为您已经启用了调试代理,并将suspend选项设置为true。在你的poms中寻找这样的东西:

      <provision>
        <param>--vmOptions="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"</param>
      </provision>

suspend=y更改为suspend=n

我知道这是一个老问题,但也许有人会有类似的问题。

相关内容

  • 没有找到相关文章

最新更新