我的项目结构如下所示:
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文档,了解如何将配置文件添加到构建过程