嵌入式jetty maven profile.xml

时间:2011-01-21 09:22:26

标签: java maven jetty wicket

我尝试以嵌入式形式启动jetty,但我遇到了问题

我需要在嵌入式jetty启动之前读取profile.xml中的属性值。

有什么建议吗?

这是profile.xml的内容

.....
  <profile>
            <id>local-dev</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <!-- Common Security Framework Properties -->
                <security.context.file>applicationContext-security-csf.xml</security.context.file>
                <csf.jndi.name>jdbc/securityDS</csf.jndi.name>
                <csf.security.system.admin.roleId>884</csf.security.system.admin.roleId>              
                <csf.cas.url>tkvwasa01.secure.kodcu.com</csf.cas.url>
                <application.service.url>localhost:8080/pqis-admin</application.service.url>
            </properties>
        </profile>

在maven方面,我可以激活上面的个人资料(local-dev),如

mvn jetty:运行local-dev

但是当我使用Embedded Jetty时如何激活上面的配置文件(local-dev)?

嵌入式Jetty的代码:


public class Start {

    public static void main(String[] args) throws Exception {
        Server server = new Server();
        SocketConnector connector = new SocketConnector();

        // Set some timeout options to make debugging easier.
        connector.setMaxIdleTime(1000 * 60 * 60);
        connector.setSoLingerTime(-1);
        connector.setPort(8080);
        server.setConnectors(new Connector[] { connector });

        WebAppContext bb = new WebAppContext();
        bb.setServer(server);
        bb.setContextPath("/");
        bb.setWar("src/main/webapp");
                .....
    }
}

感谢。

1 个答案:

答案 0 :(得分:0)

此配置文件默认是否处于活动状态?另一个档案是否有效?如果另一个配置文件处于活动状态,则将禁用默认的默认配置文件。

<强> [编辑]

好吧,the documentation表示您可以使用-P选项从命令行激活配置文件:

mvn groupId:artifactId:goal -P profile-1,profile-2

但是,POM属性不打算在运行时使用,而是在构建时使用。例如,您可以将这些属性用于filter资源(XML / .properties配置文件),用属性值替换占位符令牌。然后,运行构建的应用程序。