WSO2ESB-使用Maven构建CAR文件



使用WSO2 Developer Studio(3.7.0版),我在"ESB配置项目"中创建了一个带有序列的WSO2 ESB代理服务,该代理服务使用位于"注册表资源项目"中的wsdl文件。我还创建了一个"复合应用程序项目"来生成我的.car文件(包括代理服务、序列和资源),并成功地将该文件部署在我的WSO2ESB安装中。

现在我正在尝试使用maven命令生成(然后部署).car文件。

我首先尝试了这个解决方案:https://docs.wso2.com/display/DVS370/Deploying+a+CAR+File+with+the+Maven+Plug-In。在我的ESB配置项目上执行命令"mvn-clean-install"时,我得到了以下错误:

[ERROR] The goal you specified requires a project to execute but there is no POM in this directory ([ESB Config Project Path]targetcapp). 
Please verify you invoked Maven from the correct directory. -> [Help 1]

事实上,安装目标被配置为在"target/capp"目录中执行:

<directory>target/capp</directory>
<plugins>
  <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>1.2</version>
    <extensions>true</extensions>
    <executions>
      <execution>
        <id>install</id>
        <phase>install</phase>
        <goals>
          <goal>exec</goal>
        </goals>
        <configuration>
          <executable>mvn</executable>
          <workingDirectory>${project.build.directory}</workingDirectory>
          <arguments>
            <argument>clean</argument>
            <argument>install</argument>
            <argument>-Dmaven.test.skip=${maven.test.skip}</argument>
          </arguments>
        </configuration>
      </execution>
...

然后,我尝试创建一个"Maven多模块项目",如这里所建议的:为WSo2工件构建Maven,但我没有找到任何解决方案:

遵循本文档中的步骤(https://docs.wso2.com/display/DVS310/Using+Maven+与+Developer+Studio?src=search),我创建了一个"Maven多模块项目",并选择了我的Config、Resources和Composite项目作为子项目。然后我启动了"mvn-clean-install"命令,但在ESB配置项目中仍然收到错误(target/capp文件夹中没有POM)。

事实上,我只是没有发现任何关于这些错误的信息,也不明白为什么WSO2文档化的解决方案对我不起作用

有人对此有什么建议吗?WSO2DeveloperStudio是如何生成.car文件的?

感谢

我找到了这个问题的另一个答案。exec-maven插件版本似乎有问题。WSO2 Developer Studio 3.7.0在创建项目时添加了一个有缺陷的版本(1.2)。你只需要从更改工件

<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2</version>

至:

<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>

将此视为补充信息:exec-maven插件说不能运行指定的程序,即使它在PATH 上

我终于成功地生成了一个.car文件并创建了一个maven多模块项目。

我试图用WSO2DeveloperStudio3.7.0创建我所有的maven项目,尽管示例中说使用的是3.2.0版本。随着WSO2的maven插件版本的变化,它现在对我来说很好,用插件v2.0.4执行maven安装。

一个maven多模块项目最终只是一个有模块的maven项目,所以它是可以的。

最新更新