这是我第一次与Maven合作。我正在尝试使用Maven打包OSB项目并将其部署到weblogic服务器。但是我面临着问题。 完成的步骤如下:
使用代理设置和服务器设置更新了settings.xml。
我使用以下命令安装了OSB(12.2.1.3)maven插件:
mvn install:安装文件-DpomFile = oracle-maven-sync-12.2.1.pom -Dfile = oracle-maven-sync-12.2.1.jar
mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome = ORACLE_HOME
我用jdeveloper中的OSB项目(用于打印“ Hello World”的项目)创建了一个简单的OSB应用程序。
我使用属性标签修改了项目pom.xml,以便将其部署到服务器。请在项目pom.xml下面找到:
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.oracle.servicebus</groupId>
<artifactId>sbar-project-common</artifactId>
<version>12.2.1-3-0</version>
</parent>
<groupId>MavenTest</groupId>
<artifactId>MavenTest1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>sbar</packaging>
<build>
<plugins>
<plugin>
<groupId>com.oracle.adf.plugin</groupId>
<artifactId>ojdeploy</artifactId>
<version>12.2.1-3-0</version>
<configuration>
<ojdeploy>${oracleHome}/jdeveloper/jdev/bin/ojdeploy.exe</ojdeploy>
<workspace>${basedir}/../MavenTest.jws</workspace>
<project>MavenTest1</project>
<profile>MavenTest1</profile>
<outputfile>${project.build.directory}/${project.build.finalName}.${project.packaging}</outputfile>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>deploy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<oracleUsername>weblogicUN</oracleUsername>
<oraclePassword>weblogicPW</oraclePassword>
<oracleHome>Oracle_HomePath</oracleHome>
<oracleServerUrl>http://localhost:7001</oracleServerUrl>
</properties>
</project>
然后我在存在项目pom文件的项目目录中的命令行中运行以下命令:
mvn -e -X软件包
但是我遇到以下错误:
主要错误:[错误]无法执行目标 com.oracle.servicebus.plugin:oracle-servicebus-plugin:12.2.1-3-0:package (默认程序包)在项目MavenTest1上:创建服务总线 配置存档失败。请参阅构建目录中的日志以获取 更多信息。 -> [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:失败 执行目标 com.oracle.servicebus.plugin:oracle-servicebus-plugin:12.2.1-3-0:package (默认程序包)在项目MavenTest1上:创建服务总线 配置存档失败。请参阅构建目录中的日志以获取 更多信息。
完整堆栈:
[INFO]内置故障[INFO] -------------------------------------------------- ---------------------- [INFO]总时间:31.835 s [INFO]完成于: 2019-03-12T10:05:17 + 05:30 [INFO] -------------------------------------------------- ---------------------- [ERROR]无法执行目标 com.oracle.servicebus.plugin:oracle-servicebus-plugin:12.2.1-3-0:package (默认程序包)在项目MavenTest1上:创建服务总线 配置存档失败。请参阅构建目录中的日志以获取 更多信息。 -> [帮助1] org.apache.maven.lifecycle.LifecycleExecutionException:失败 执行目标 com.oracle.servicebus.plugin:oracle-servicebus-plugin:12.2.1-3-0:package (默认程序包)在项目MavenTest1上:创建服务总线 配置存档失败。请参阅构建目录中的日志以获取 更多信息。 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) 在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject中 (LifecycleModuleBuilder.java:117) 在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject中 (LifecycleModuleBuilder.java:81) 在org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) 在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) 在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) 在org.apache.maven.cli.MavenCli.execute(MavenCli.java:954) 在org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 在org.apache.maven.cli.MavenCli.main(MavenCli.java:192) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498) 在org.codehaus.plexus.classworlds.launcher.Launcher.launch上增强 (Launcher.java:289) 在org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 在org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) 在org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)上由以下原因引起: org.apache.maven.plugin.MojoFailureException:服务的创建 总线配置存档失败。查看构建目录中的日志 了解更多信息。 在oracle.sb.maven.plugin.PackageMojo.execute(PackageMojo.java:102) 在org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154) 在org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146) 在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject中 (LifecycleModuleBuilder.java:117) 在org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject中 (LifecycleModuleBuilder.java:81) 在org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56) 在org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305) 在org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192) 在org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105) 在org.apache.maven.cli.MavenCli.execute(MavenCli.java:954) 在org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) 在org.apache.maven.cli.MavenCli.main(MavenCli.java:192) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method.invoke(Method.java:498) 在org.codehaus.plexus.classworlds.launcher.Launcher.launch上增强 (Launcher.java:289) 在org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) 在org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:415) 在org.codehaus.plexus.classworlds.launcher.Launcher.main上(Launcher.java:356)[ERROR] [ERROR] [ERROR]有关更多信息 错误和可能的解决方案,请阅读以下文章: [错误] [帮助1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
此外,在MavenTest1.data \ maven \ configjar中,它还记录为 C:\ Users \ userId \ AppData \ Local \ Microsoft \ WindowsApps此时是意外情况。
我已在 USER变量中设置M2_HOME = C:\ Oracle \ Middleware \ Oracle_Home \ oracle_common \ modules \ org.apache.maven_3.2.5,ORACLE_HOME = C:\ Oracle \ Middleware \ Oracle_Home,M2 =%M2_HOME%\ bin,PATH =%path%;%M2%
在系统变量中 JAVA_HOME = C:\ Program Files \ Java \ jdk1.8.0_202 \,ORACLE_HOME = C:\ Oracle \ Middleware \ Oracle_Home,Path =%JAVA_HOME%\ bin,%ORACLE_HOME%\ oracle_common \ bin
我要去哪里错了?
答案 0 :(得分:0)
通过以下步骤解决了该问题:OSB通过本地存储库为Maven插件提供了以下步骤: •在用户变量中:
M2_HOME = C:\ Oracle \ Middleware \ Oracle_Home \ oracle_common \ modules \ org.apache.maven_3.2.5 M2 =%M2_HOME%\ bin PATH =%path%;%M2%
•在系统变量中:
JAVA_HOME = C:\ PROGRA〜1 \ Java \ jdk1.8.0_202 \ ORACLE_HOME = C:\ Oracle \ Middleware \ Oracle_Home路径=%JAVA_HOME%\ bin
•在settings.xml中的C:\ Users \ .m2 \中,
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd">
<localRepository>C:\Users\(USERId)\.m2\repository</localRepository>
<interactiveMode>true</interactiveMode>
<usePluginRegistry>false</usePluginRegistry>
<offline />
<proxies>
<proxy>
<host>HostIP</host>
<nonProxyHosts></nonProxyHosts>
</proxy>
</proxies>
</settings>
•转到C:\ Oracle \ Middleware \ Oracle_Home \ oracle_common \ plugins \ maven \ com \ oracle \ maven \ oracle-maven-sync \ 12.2.1并运行以下命令:
通过执行第三条命令。它应该给出以下输出:
名称:Oracle Service Bus-插件说明:Oracle Service Bus 开发Maven插件提供了特定于Maven的目标 服务总线项目和应用程序的要求。你可以用 执行诸如打包Service Bus项目或资源之类的任务 并将程序包部署到正在运行的服务器。组ID: com.oracle.servicebus.plugin工件ID:oracle-servicebus-plugin 版本:12.2.1-3-0目标前缀:servicebus
此插件有2个目标:servicebus:deploy说明:部署 目标将Service Bus项目部署到正在运行的服务器。这个目标 支持服务总线部署格式SBAR。不需要 本地服务器安装。默认情况下,部署项目不 将任何更新应用于环境值。如果您要更新 环境值,您可以使用新的创建配置文件 环境值并在运行时指定该配置文件 部署。
servicebus:package说明:包目标创建一个 从与POM文件关联的资源中配置JAR文件, 并将资源打包到特定于Service Bus的存档文件中 称为.sbar文件。默认情况下,Maven插件假定 打包的资源是项目资源,但是服务总线 应用程序还可以包括系统资源,这些资源在 项目。系统资源与项目的打包方式不同 资源,因此在打包系统资源时,需要设置 系统标记为true。
成功安装
要测试OSB项目,请创建一个简单的OSB项目,例如hello world。从命令提示符转到应用程序目录,然后运行以下命令来构建项目并将其部署到osb服务器:
mvn install -DoracleServerUrl = http://localhost:7001 -DoracleUsername =用户名-DoraclePassword =密码-DoracleHome = C:/ Oracle / Middleware / Oracle_Home
该项目将以.sbar格式构建。 .sbar可以在(D :(应用程序)\(项目)\。data \ maven \ sbconfig.sbar)中找到。 .sbar将部署到OSB服务器。
在D :(应用程序)\(项目)\。data \ maven \ configjar下,将有configjar文本文档,其中包含构建期间的日志。如有任何错误,则需要检查该文件。
要清除先前的构建阶段,请执行mvn clean,这将删除作为构建目录的.data \ maven目录。
快照和.sbar文件也将存储在本地存储库(C:\ Users \(userId)\。m2 \ repository)中。