6

我正在使用 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 太慢了。;-)

提前致谢

4

1 回答 1

6

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

注意:我没有使用 Nexus-Repo,而是使用 Artifactory(但我猜 Maven 在两者上的行为相同)。

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

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

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

  1. 如果您无法更改设置:

执行 maven 目标时使用参数“no-snapshot-updates”:

mvn goal --no-snapshot-updates
  1. 更改您的 settings.xml

将以下内容添加到您的 Oracle 库所在的存储库中:

<repository>
    <id>my-oracle-repo</id>
    <url>http://someurl</url>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>
  1. 将您的 Oracle 库从快照存储库中移开。

编辑:它似乎不仅与快照有关,而且与默认设置为“每日”的“updatePolicy”有关。更改您的 Maven settings.xml,如下所示:

<repository>
    <id>my-oracle-repo</id>
    <url>http://someurl</url>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
    <releases>
        <updatePolicy>never</updatePolicy>
    </releases>
</repository>
于 2016-03-10T07:30:32.103 回答