WebLogic客户端jar

时间:2015-12-15 12:23:05

标签: maven repository weblogic weblogic12c weblogic11g

我想使用Java和JMX来监视WebLogic。我需要使用提供到WebLogic lib目录中的wlclient.jar。

是否有可用于下载wlclient.jar的maven存储库? 我找到的唯一方法是手动将jar文件导入我的存储库,但这对我来说不是一个选项。

2 个答案:

答案 0 :(得分:4)

另一种方法是创建项目内存储库。这使您的项目真正可移植。此方法类似于A. Di Matteo提到的“使用依赖关系与系统范围”,但它具有能够使用任何范围(而不仅仅是“系统”)的额外好处。

我遇到了和你一样的问题,使用了Maven Central中没有的jar,在探索了所有可能的选项之后,我选择了项目内的存储库,我认为这样可以更好地系统确定依赖关系。它让你自由选择范围。

执行此操作的步骤:

  1. 在项目中创建一个名为“lib”的子目录

  2. 将此lib添加为pom中的存储库

  3. <repositories>
        <repository>
            <id>lib</id>
            <name>In Project Repo</name>
            <url>file://${basedir}/lib</url>
        </repository>
    </repositories>
    
    1. 将artefact安装到lib目录:
    2. mvn install:install-file -Dfile=myArtifact.jar -DgroupId=x.y.z -DartifactId=${artifactId} -Dversion=${version} -Dpackaging=jar -DgeneratePom=true

      1. 并且,最后使用依赖项,就像使用任何其他依赖项一样
      2. <dependencies>
            ....
            <dependency>
                <groupId>x.y.z</groupId>
                <artifactId>${artifactId}</artifactId>
                <version>${version}</version>
            </dependency>
        </dependencies>
        

答案 1 :(得分:3)

如果您无法在任何Maven资源库中找到该jar,您可以根据需要应用以下任何操作:

内部Maven存储库
如果您没有内部存储库(如Artifactory或Nexus),通常在公司中用作内部maven缓存/代理/控制点,但也可以选择安装它并在本地运行。<登记/> 然后,您可以在那里上传库,提供Maven GAV(GroupId,ArtifactId,Version)并让Maven将其指向存储库(对于您的CI服务器,如果有的话,为您的同事指定)。然后,您可以将库添加为标准maven依赖项。 该解决方案具有更长的设置,但具有更好的可维护性。

在本地缓存中安装库
您可以使用Maven Install Plugin并将库安装到本地缓存中,如此官方Kinesis Firehose所示。 基本上,您可以运行以下命令:

mvn org.apache.maven.plugins:maven-install-plugin:2.5.2:install-file -Dfile=path-to\wlclient.jar -DgroupId=weblogic -DartifactId=wlclient -Dversion=1.0.0 -Dpackaging=jar

它将使用标准Maven GAV将库复制到本地Maven缓存。但是,如上所述,您应确保在任何CI服务器和任何团队配对计算机上复制相同的设置。然后,您可以将库添加为标准maven依赖项。 该解决方案具有更快的设置,但可维护性较低。

然而,这两种解决方案都会影响您的构建的可移植性(如果有人试图在您的公司网络或团队之外构建它,则构建将失败)。

使用系统范围的依赖
您可以将jar作为项目的一部分,并通过该依赖项的system范围指向它。

<dependency>
  <groupId>weblogic</groupId>
  <artifactId>wlclient</artifactId>
  <version>1.0.0</version>
  <systemPath>${basedir}/path/to/library/wlclient-1.0.0.jar</systemPath>
  <scope>system</scope>
</dependency>

您应该重命名jar,以符合Maven惯例 这个解决方案更具可移植性,需要更少的设置,但需要对其进行维护,并且需要将相关库作为版本化项目的一部分进行检查(有些人可能对这种做法存在强烈反对)。