您需要将系统属性设置com.atomikos.icatch.hide_init_file_path
为任何值。在 java 命令行上执行此操作。在 Maven 中,您可以通过将命令行 arg 传递给 surefire 来执行此操作,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-Dcom.atomikos.icatch.hide_init_file_path=true</argLine>
</configuration>
</plugin>
更新:在 Spring 配置文件中,您可以像这样设置属性:
<bean id="atomikosSystemProps" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetObject">
<!-- System.getProperties() -->
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="java.lang.System" />
<property name="targetMethod" value="getProperties" />
</bean>
</property>
<property name="targetMethod" value="putAll" />
<property name="arguments">
<!-- The new Properties -->
<util:properties>
<prop key="com.atomikos.icatch.hide_init_file_path">true</prop>
</util:properties>
</property>
</bean>
只要记住让你的 Atomikos bean “依赖”这个 bean,这样实例化的顺序就正确了。