嵌入jetty maven profile.xml

发布于 2024-10-13 04:20:07 字数 1781 浏览 5 评论 0原文

我尝试以嵌入式形式启动 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端我可以像

mvn jetty:run local-dev

一样激活上面的配置文件(local-dev) ,但是当我使用嵌入式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");
                .....
    }
}

谢谢。

I try to start jetty in embedded form but i have problems

I need to read properties values in profile.xml before embedded jetty starts.

Any suggestions ?

Here is profile.xml's content

.....
  <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>

At maven side i can activate above profile (local-dev) like

mvn jetty:run local-dev

but how can i activate above profile (local-dev) when i use Embedded Jetty ?

Embedded Jetty 's code :


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");
                .....
    }
}

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Smile简单爱 2024-10-20 04:20:08

该配置文件默认处于活动状态吗?另一个配置文件是否处于活动状态?如果另一个配置文件处于活动状态,则默认处于活动状态的配置文件将被禁用。

[编辑]

嗯,文档 指出您可以使用 -P 选项从命令行激活配置文件:

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

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

Is this profile active by default? Is another profile active? An active-by-default profile will be disabled if another profile is active.

[edited]

Well, the documentation states that you can activate profiles from the command line using the -P option:

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

But, POM properties are not intended to be used in runtime, but in build time. You could, for example, use these properties to filter resources (XML/.properties config files), replacing placeholder tokens with the properties' values. And then, run the built application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文