我尝试以嵌入式形式启动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");
.....
}
}
感谢。
答案 0 :(得分:0)
此配置文件默认是否处于活动状态?另一个档案是否有效?如果另一个配置文件处于活动状态,则将禁用默认的默认配置文件。
<强> [编辑] 强>
好吧,the documentation表示您可以使用-P选项从命令行激活配置文件:
mvn groupId:artifactId:goal -P profile-1,profile-2
但是,POM属性不打算在运行时使用,而是在构建时使用。例如,您可以将这些属性用于filter资源(XML / .properties配置文件),用属性值替换占位符令牌。然后,运行构建的应用程序。