zengpeng5281314 2019-05-09 17:05 采纳率: 0%
浏览 1351

maven install 依赖包打包问题

图片说明
不知道为什么。我在打包用mvn clean install -Dmaven.test.skip=true -Ptest ,因为依赖ruifu_base jar包,ruifu_base-1.0.0-test已经打成功了,但是里面得pom默认激活得是uat环境,图片说明

    所以在打包test得时候,会去下载ruifu_base-1.0.0-uat的包,(如果所有的activeByDefault都是同一个环境时,是没有问题的)
    求大神指点一点~~~
  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-09 10:32
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    你似乎遇到了一个Maven安装问题,具体表现为在测试模式下使用-Dmaven.test.skip=true选项后,Maven尝试加载的是不正确的版本的ruifu_base.jar。这通常发生在不同测试环境之间切换时。

    为了解决这个问题,你可以考虑以下几种方法:

    方法一:在测试环境下指定正确的版本

    确保在测试环境中正确地设置了<rf-base-version>属性。例如,在测试环境设置为test的情况下,你应该将<rf-base-version>设置为1.0.0-test。这样,当你在测试环境运行mvn install命令时,Maven就会从Nexus下载并解压正确的ruifu_base.jar文件。

    <project>
      <!-- ... -->
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <goals>
                  <goal>clean</goal>
                </goals>
                <configuration>
                  <delete>yes</delete>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.6</version>
            <executions>
              <execution>
                <phase>validate</phase>
                <goals>
                  <goal>resources</goal>
                </goals>
                <configuration>
                  <encoding>UTF-8</encoding>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <profiles>
        <profile>
          <id>uat</id>
          <activation>
            <property>
              <name>env</name>
              <value>uat</value>
            </property>
          </activation>
          <dependencies>
            <dependency>
              <groupId>com.ruifu</groupId>
              <artifactId>ruifu_base</artifactId>
              <version>1.0.0-uat</version>
            </dependency>
          </dependencies>
        </profile>
        <profile>
          <id>prod</id>
          <activation>
            <property>
              <name>env</name>
              <value>prod</value>
            </property>
          </activation>
          <dependencies>
            <dependency>
              <groupId>com.ruifu</groupId>
              <artifactId>ruifu_base</artifactId>
              <version>1.0.0</version>
            </dependency>
          </dependencies>
        </profile>
      </profiles>
    </project>
    

    方法二:修改配置文件

    如果你发现上述解决方案无法解决问题,请检查你的项目中的pom.xml.m2目录下的其他配置文件。确保所有依赖项都正确指定了正确的版本号,并且没有冲突。例如,确保每个测试和生产环境都引用了相同的ruifu_base.jar文件。

    方法三:手动卸载旧版本

    如果你仍然遇到问题,可能是因为Maven自动卸载了旧的ruifu_base.jar文件,然后又重新下载了一个新的。在这种情况下,可以尝试卸载旧的ruifu_base.jar文件,然后再重新下载正确的版本。

    mvn dependency:tree -DskipTests=false
    

    这个命令会列出所有依赖关系以及它们的版本信息。找到与你当前使用的环境对应的依赖项,然后删除旧的ruifu_base.jar文件,最后再重新下载正确的版本。

    通过以上任一方法,应该能够解决maven install依赖包打包问题。

    评论

报告相同问题?