使用Maven将OSB项目部署到服务器

时间:2019-03-12 06:26:52

标签: maven deployment weblogic jdeveloper osb

这是我第一次与Maven合作。我正在尝试使用Maven打包OSB项目并将其部署到weblogic服务器。但是我面临着问题。 完成的步骤如下:

  1. 使用代理设置和服务器设置更新了settings.xml。

  2. 我使用以下命令安装了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

  1. 我用jdeveloper中的OSB项目(用于打印“ Hello World”的项目)创建了一个简单的OSB应用程序。

  2. 我使用属性标签修改了项目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>
    
  3. 然后我在存在项目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

  1. 此外,在MavenTest1.data \ maven \ configjar中,它还记录为 C:\ Users \ userId \ AppData \ Local \ Microsoft \ WindowsApps此时是意外情况。

  2. 我已在 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

我要去哪里错了?

1 个答案:

答案 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并运行以下命令:

  1. mvn install:安装文件-DpomFile = oracle-maven-sync-12.2.1.pom -Dfile = oracle-maven-sync-12.2.1.jar [安装Maven同步插件]
  2. mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome = C:\ Oracle \ Middleware \ Oracle_Home [将Oracle Service Bus开发Maven插件植入Maven存储库]
  3. MVN帮助:描述-DgroupId = com.oracle.servicebus.plugin -DartifactId = oracle-servicebus-plugin -Dversion = 12.2.1-3-0 [检查安装是否成功]

通过执行第三条命令。它应该给出以下输出:

  

名称: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)中。