如何根据个人资料部署maven工件?

时间:2016-03-01 21:49:36

标签: maven

我在Github上使用公共maven存储库来部署我的开源java项目的新版本。该项目可以构建为两个不同的版本,这些版本由pom.xml中的配置文件配置定义 当我部署工件时,默认构建将上载到存储库中。 是否可以根据具有相同maven版本号的不同配置文件部署不同的maven版本?或者是否存在如何根据所选配置文件使用不同版本号的maven工件的概念或最佳实践?

1 个答案:

答案 0 :(得分:1)

不是100%确定您要求的内容,但将分类器与您的工件相关联可能是您正在寻找的内容。例如,如果你需要一个' prod'和'阶段'具有不同配置文件的工件,你会做这样的事情:

public static string FilePathToFileUrl(string filePath)
{
  StringBuilder uri = new StringBuilder();
  foreach (char v in filePath)
  {
    if ((v >= 'a' && v <= 'z') || (v >= 'A' && v <= 'Z') || (v >= '0' && v <= '9') ||
      v == '+' || v == '/' || v == ':' || v == '.' || v == '-' || v == '_' || v == '~' ||
      v > '\xFF')
    {
      uri.Append(v);
    }
    else if (v == Path.DirectorySeparatorChar || v == Path.AltDirectorySeparatorChar)
    {
      uri.Append('/');
    }
    else
    {
      uri.Append(String.Format("%{0:X2}", (int)v));
    }
  }
  if (uri.Length >= 2 && uri[0] == '/' && uri[1] == '/') // UNC path
    uri.Insert(0, "file:");
  else
    uri.Insert(0, "file:///");
  return uri.ToString();
}

运行你的舞台&#39;个人资料会给你一个&#39; -stage&#39;神器。虽然,我认为通常有更好的方法来实现这一点,但使用配置文件build for different environments并不罕见。这是你想要做的吗?