在POM外部定义maven配置文件

时间:2011-11-16 12:15:22

标签: maven pom.xml

有没有办法在POM文件外定义我的maven配置文件,但在 .m2 / settings.xml ? 我想在单独的xml 文件 应用程序(使用maven 2和3高效工作的方式)中定义它们,因为我正在使用maven 2并打算尽快切换到3。

4 个答案:

答案 0 :(得分:1)

您可能需要在构建配置文件中查看this maven documentation,其中介绍了配置文件的类型以及每种配置文件的使用方式。

如我所知,如果您想使用pom.xml,则无法在settings.xmlmaven 3之外定义配置文件。

答案 1 :(得分:1)

在Maven 2.2.1之前,您可以将配置文件定义到profiles.xml文件中作为单独的文件,但是使用Maven 3,此机会已被删除。问题是为什么你需要一个单独的档案文件?

答案 2 :(得分:1)

<profiles>
    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <properties>
            <build.profile.id>dev</build.profile.id>
        </properties>
    </profile>
    <profile>
        <id>prod</id>
        <properties>
            <build.profile.id>prod</build.profile.id>
        </properties>
    </profile>
    <profile>
        <id>test</id>
        <properties>
            <build.profile.id>test</build.profile.id>
        </properties>
    </profile>
</profiles>

并添加过滤器

<filters>
   <filter>src/test/resources/${build.profile.id}/config.properties</filter>
</filters>

并添加任何目录(dev,prod,test)

答案 3 :(得分:0)

我最近将应用程序从maven2迁移到maven3。使用maven 3,不可能有外部配置文件。但是可以做的是拥有外部属性文件。这可以通过maven-properties-plugin

来实现
string consumerKey = "qyprd4rAYMSe4EhBLcGvKrZ8Xb8M3i";
        string consumerKeySecret = "xdYvcPHkjICQ2uJ3yNzFJpI8elHJsnQa127EKrMf";
        string accessToken = "lvprdyTiT1kxH8VhFhzEv3BpiC4cV5fYC3tPKtijE9hdqWk9";
        string accessTokenSecret = "HTkdQ4WYtItio3NXo569py1SqPZ4jDnxfE1FUPZA";
        string Realm = "1440846810";

        OAuthRequestValidator oauthValidator = new OAuthRequestValidator(
        accessToken, accessTokenSecret, consumerKey, consumerKeySecret);


        string appToken = "9f4179e9ba7d4b4343b8986b9935526c724a";
        string companyID = "1440846810";
        ServiceContext context = new ServiceContext(appToken, companyID, IntuitServicesType.QBO, oauthValidator);
        context.IppConfiguration.BaseUrl.Qbo = "https://sandbox-quickbooks.api.intuit.com/";


        DataService service = new DataService(context);

        ChargeCredit charge = new ChargeCredit() { };

        Customer customer = new Customer();
        //Mandatory Fields
        customer.GivenName = "Sridhar";
        customer.Title = "Mr.";
        customer.MiddleName = "Sri";
        customer.FamilyName = "Goshika";
        // Optional Fields
        customer.PrimaryEmailAddr = new EmailAddress() { Address = "sridharnetha@gmail.com" };
        Customer resultCustomer = service.Add(customer) as Customer;            
        return service;

所以我在这里解释了如何做到http://programtalk.com/java/migrate-from-maven2x-to-maven3x/