2011-02-08 5 views
4

У меня есть следующий context.xml в webapp/META-INF /. Это один используется котом, чтобы определить значение, которое будет понять по весне с собственностиПреобразование context.xml из Tomcat в Jetty

<?xml version="1.0" encoding="UTF-8"?> 
<Context>  
<Parameter name="si.host" value="super.com" override="false"/> 
</Context> 

Сейчас им пытаются развернуть веб-приложение с Maven молы плагин:

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.26</version> 
    <configuration> 
     <connectors> 
     <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> 
      <port>8080</port> 
      <maxIdleTime>60000</maxIdleTime> 
     </connector> 
     </connectors> 
     <jettyEnvXml>${basedir}\src\test\resources\server\jetty\jetty-env.xml</jettyEnvXml> 
     <jettyConfig>${basedir}\src\test\resources\server\jetty\jetty.xml</jettyConfig > 
     <contextPath>/myapp</contextPath> 
     <webApp>target/myapp.war</webApp> 
     <stopKey>foo</stopKey> 
     <stopPort>9999</stopPort> 
    </configuration> 
    <executions> 
     <execution> 
     <id>start-jetty</id> 
     <phase>pre-integration-test</phase> 
     <goals> 
      <goal>run</goal> 
     </goals> 
     <configuration> 
      <scanIntervalSeconds>0</scanIntervalSeconds> 
      <daemon>true</daemon> 
     </configuration> 
     </execution> 
     <execution> 
     <id>stop-jetty</id> 
     <phase>post-integration-test</phase> 
     <goals> 
      <goal>stop</goal> 
     </goals> 
     </execution> 
    </executions>   
    </plugin> 

Как могу ли я добавить этот параметр в файл jetty.xml?
Я уже выкопал их документацию, а здесь и в Google, но ничего не понял.
Заранее благодарим вас за помощь.

ответ

2

Первое спасибо DogBane !!

Я нашел другое решение, не нужно изменять web.xml Используйте файл по умолчанию web.xml.

Этот файл применяется к веб-приложению, прежде чем его собственный WEB_INF/web.xml файл

Я предпочитаю это, чем при использовании jetty.xml, потому что это менее многословным.

Просто добавьте в разделе конфигурации плагина Maven в webDefaultXml с путем к файлу ниже:

<web-app 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns /javaee/web-app_2_5.xsd" 
    metadata-complete="true" 
    version="2.5"> 

    <description> 
    Default web.xml file. 
    This file is applied to a Web application before it's own WEB_INF/web.xml file 
    </description> 

    <context-param> 
    <param-name>si.host</param-name> 
     <param-value>super.com</param-value> 
    </context-param> 
</web-app> 
+0

'context-param' в моем случае игнорируется. Я использую Jetty 9. – expert

7

Это должно идти в вашем WEB-INF/web.xml, который веб-сервер независимый т.е. он будет работать как в котом и причалом:

<context-param> 
    <param-name>si.host</param-name> 
    <param-value>super.com</param-value> 
</context-param> 

или вы можете установить его в молы XML, как это:

<Configure class="org.mortbay.jetty.webapp.WebAppContext"> 
    ... 
    <Set name="initParams"> 
    <Map> 
     <Entry> 
     <Item>si.host</Item> 
     <Item>super.com</Item> 
     </Entry> 
    </Map> 
    </Set> 
</Configure> 
+0

Есть ли способ сделать доступное OutSite это? потому что webapp развертывается не только на причале, но и в котле с грузом. И если я определяю это в web.xml и в контексте.xml и он развернут в tomcat, какое значение используется? –

+0

@FrenchGuy см. Мое обновление – dogbane

+0

Вы должны удалить его из context.xml и сохранить его только в своем web.xml. – dogbane

Смежные вопросы