WebLogic Maven插件有太多依赖项?

时间:2015-10-29 07:31:39

标签: maven weblogic12c weblogic-maven-plugin

我正在使用weblogic maven插件在服务器上部署我的应用程序。

我不确定我是否在配置上犯了错误。 当天的第一个maven构建需要很长时间(约30分钟),因为插件似乎对完整的weblogic堆栈有很大的依赖性并更新了maven-metadata.xml文件。

我的配置如下:

<plugin>
  <groupId>com.oracle.weblogic</groupId>
  <artifactId>weblogic-maven-plugin</artifactId>
  <version>12.1.3-0-0</version>
  <configuration>
    <adminurl>t3://localhost:7001</adminurl>
    <user>admin</user>
    <password>pass</password>
    <upload>true</upload>
    <action>deploy</action>
    <remote>false</remote>
    <verbose>true</verbose>
 <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>
    <name>${project.build.finalName}</name>
    <targets>myserver</targets>
  </configuration>
</plugin>

也许我们的Nexus-repo太慢了。 ; - )

提前致谢

1 个答案:

答案 0 :(得分:6)

我发现了问题,希望有一些很好的解决方法:

注意:我没有使用Nexus-Repo而是使用Artifactory(但我猜Maven在两者上都表现相同)。

由于我们的存储库配置错误,问题出现了。 如果您的库位于快照存储库(在settings.xml中定义),Maven将始终检查更新(默认情况下)。

在我的例子中,快照的虚拟存储库包含Oracle库,这导致Maven将它们视为快照。

有一些方法可以避免这种情况:

  1. 如果您无法更改设置:
  2. 使用参数&#34; no-snapshot-updates&#34;执行maven目标时:

    mvn goal --no-snapshot-updates
    
    1. 更改您的settings.xml
    2. 将以下内容添加到Oracle库所在的存储库中:

      <repository>
          <id>my-oracle-repo</id>
          <url>http://someurl</url>
          <snapshots>
              <enabled>false</enabled>
          </snapshots>
      </repository>
      
      1. 将您的Oracle库从快照存储库移开。
      2. 编辑:它似乎不仅与快照相关,而且与之相关 &#34; updatePolicy&#34;默认设置为&#34;每日&#34;。 按如下方式更改maven settings.xml:

        <repository>
            <id>my-oracle-repo</id>
            <url>http://someurl</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <updatePolicy>never</updatePolicy>
            </releases>
        </repository>