启动我的Jetty服务器时遇到以下异常。 java.lang.IllegalStateException:没有合适的构造函数:
<New id="tx" class="org.eclipse.jetty.plus.jndi.Transaction">| ? <Arg>utxn</Arg>|? <Arg>|? <New class="com.atomikos.icatch.jta.J2eeUserTransaction"/>|? </Arg>|?</New>
我在下面的pom.xml中包含了这些内容。
<dependency>
<groupId>com.atomikos</groupId>
<artifactId>transactions-jta</artifactId>
<version>3.7.0</version>
</dependency>
我的web.xml中也有以下内容。
<resource-ref>
<res-ref-name>utxn</res-ref-name>
<res-type>javax.transaction.UserTransaction</res-type>
<res-auth>Container</res-auth>
</resource-ref>
在jetty-env.xml中,我指定了以下内容。
<New id="tx" class="org.eclipse.jetty.plus.jndi.Transaction">
<Arg>utxn</Arg>
<Arg>
<New class="com.atomikos.icatch.jta.J2eeUserTransaction"/>
</Arg>
</New>
有什么可能导致异常的想法?
答案 0 :(得分:1)
在您的配置中,您尝试使用两个参数创建类org.eclipse.jetty.plus.jndi.Transaction
的实例:字符串utxn
和类com.atomikos.icatch.jta.J2eeUserTransaction
的实例。
但是类Transaction
没有这种构造函数,请查看其规范here。