使用 Maven 部署 Oracle Service Bus:从一个目录部署正常但从另一个目录部署失败
Deploying Oracle Service Bus With Maven: Deploys Fine From One Directory But Fails From Another
我正在尝试为 OSB(Oracle 服务总线)组合创建自动构建和部署。在构建服务器上设置 Maven 和 OSB 插件之后,这样的系统包含两个命令(运行 通过来自 POM 所在目录的命令提示符):
mvn package
mvn deploy -DoracleServerUrl=http://serverurl:port -DoraclUsername=username -DoraclePassword=password
这在构建系统中失败,出现以下异常:
The session cannot be activated due to the existence of conflicts.
但我相信,从根本上说,这是因为构建系统在构建阶段使用第一个命令创建包,然后在发布阶段使用第二个命令进行部署。
如果我直接拿代码和运行目录1中的两个命令:
D:\OSBComposites\HelloWorldOSBService\HelloWorldOSBService
命令 运行 和复合部署正常。
如果我从字面上将相同的代码从目录 1 复制到目录 2,并且 运行 从目录 2 复制相同的命令:
D:\OSBComposites\HelloWorldOSBService\HelloWorldOSBService2
第二个命令失败并出现上面引用的相同异常。
这也不是一次性的情况——我可以连续重现几十次。 运行 来自目录 1 的命令总是成功,而 运行来自目录 2 的命令总是失败,但出现上述异常。
是的,这是一个简单的默认 HelloWorld 组合 - 尽可能简单,不引用绝对路径。
Maven 或 OSB 中是否有缓存 "remembering" 首次部署组合的原始路径或阻止从不同位置部署组合的其他机制?
如果您的 pom.xml
驻留在 /path/directory1/pom.xml
中,您的 OSB 项目将被部署为 directory1
- 重新部署为 directory2 可能会导致您观察到的冲突。
如果您需要从不同的位置部署它,您可以将它放在 /path2/directory1/pom.xml
对于您的示例,这应该有效:
将项目内容复制到类似于下面的路径,然后 运行 maven 部署
D:\OSBComposites\HelloWorldOSBService2\HelloWorldOSBService
我正在尝试为 OSB(Oracle 服务总线)组合创建自动构建和部署。在构建服务器上设置 Maven 和 OSB 插件之后,这样的系统包含两个命令(运行 通过来自 POM 所在目录的命令提示符):
mvn package
mvn deploy -DoracleServerUrl=http://serverurl:port -DoraclUsername=username -DoraclePassword=password
这在构建系统中失败,出现以下异常:
The session cannot be activated due to the existence of conflicts.
但我相信,从根本上说,这是因为构建系统在构建阶段使用第一个命令创建包,然后在发布阶段使用第二个命令进行部署。
如果我直接拿代码和运行目录1中的两个命令: D:\OSBComposites\HelloWorldOSBService\HelloWorldOSBService 命令 运行 和复合部署正常。
如果我从字面上将相同的代码从目录 1 复制到目录 2,并且 运行 从目录 2 复制相同的命令: D:\OSBComposites\HelloWorldOSBService\HelloWorldOSBService2 第二个命令失败并出现上面引用的相同异常。
这也不是一次性的情况——我可以连续重现几十次。 运行 来自目录 1 的命令总是成功,而 运行来自目录 2 的命令总是失败,但出现上述异常。
是的,这是一个简单的默认 HelloWorld 组合 - 尽可能简单,不引用绝对路径。
Maven 或 OSB 中是否有缓存 "remembering" 首次部署组合的原始路径或阻止从不同位置部署组合的其他机制?
如果您的 pom.xml
驻留在 /path/directory1/pom.xml
中,您的 OSB 项目将被部署为 directory1
- 重新部署为 directory2 可能会导致您观察到的冲突。
如果您需要从不同的位置部署它,您可以将它放在 /path2/directory1/pom.xml
对于您的示例,这应该有效: 将项目内容复制到类似于下面的路径,然后 运行 maven 部署
D:\OSBComposites\HelloWorldOSBService2\HelloWorldOSBService