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