spring – Maven Jetty运行JNDI配置

我的项目结构如下所示:

parent POM 
|-- app-core
|-- app-model
|-- app-services
`-- app-web

在我的app-web的pom.xml中:

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>6.1.10</version>
    <configuration>
    <webDefaultXml>src/test/resources/webdefault.xml</webDefaultXml>
    </configuration>
 </plugin>

热部署正常工作,mvn jetty:run没有问题

问题:app-core使用spring如何在这个多模块层次结构中为Jetty maven插件配置这个JNDI,这应该可以在app-core模块中访问

更新:

像这样添加了pom.xml

  <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>6.1.10</version>
    <configuration>
    <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
    <jettyConfig>src/main/resources/jetty.xml</jettyConfig>
    </configuration>
  </plugin>

我的jetty.xml看起来像这样:

  <Configure class="org.mortbay.jetty.webapp.WebAppContext">
<New id="icatDB" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>jdbc/testDB</Arg>
    <Arg>
<New class="net.sourceforge.jtds.jdbcx.JtdsDataSource">
    <Set name="serverName">localhost</Set>
    <Set name="databaseName">test</Set>
    <Set name="user">sa</Set>
    <Set name="password"></Set>
</New>
</Arg>
</New>
 </Configure>

之后当我运行mvn jetty时:运行我得到这个错误

Failure: Object is not of type class org.mortbay.jetty.webapp.WebAppContext

解决方法:

好的,这对我有用:

我需要使用jettyEnvXml而不是jettyConfig.

 <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>6.1.10</version>
    <configuration>
    <webDefaultXml>src/main/resources/webdefault.xml</webDefaultXml>
    <jettyEnvXml>src/main/resources/jetty.xml</jettyEnvXml> 
    </configuration>
  </plugin>
上一篇:java – JBoss:将值绑定到JBoss EAP 6中的JNDI,类似于JNDIBindingServiceMgr


下一篇:如何在Spring中使用junit测试获取jndi环境变量?