Maven Jetty run JNDI configuration



我的项目结构如下所示:

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没有问题

问题:应用程序核心使用弹簧,我如何在这个多模块层次结构中为Jetty maven插件配置这个JNDI,该插件应该可以在应用程序核心模块中访问

更新:

添加了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>

我的码头.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:run 时,我收到此错误

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>
  • 有关 JNDI 在码头中的配置
  • 请参阅此Maven Jetty文档,了解如何将配置文件添加到构建过程

最新更新