一尘不染

在不发布的情况下服务模块在Helios中不起作用

tomcat

我最近将正在开发的Web应用程序转移到运行64位Eclipse Helios(服务版本2)的新计算机上,并且正在使用Maven插件M2Eclipse。

我已经通过Eclipse部署在本地tomcat上,并且一切正常(或多或少),但是我想选择“不发布服务模块”选项,但是当我选择此选项时,我得到了错误:

log4j:ERROR Could not read configuration file from URL [file:/C:/butterfly/svn/trunk/micro/src/main/webapp/WEB-INF/classes/log4j.properties].
java.io.FileNotFoundException: C:\butterfly\svn\trunk\micro\src\main\webapp\WEB-INF\classes\log4j.properties (The system cannot find the file specified)

log4j.properties文件不存在,因为在我的src / main / resources中的源目录中-在构建时,它会被复制到target /
WEB-INF / classes /。

Eclipse似乎将预期的目标目录与src目录混合在一起,因此找不到它。

我不确定这是否只是针对属性文件而发生,还是因为寻找所有已构建的资源而发生相同的问题。

我已经看到以下问题:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=318449

http://www.eclipse.org/forums/index.php?t=msg&goto=661045&S=25bafd85b11e042c169ecf1752bfa479

但它们似乎略有不同或已经修复(“我的太阳神”是上周末的新下载)

任何人都经历过或知道如何解决?


阅读 224

收藏
2020-06-16

共1个答案

一尘不染

这里开始:“不发布的服务模块选项将执行它所说的。Web内容将直接从Dynamic
Web Project的“ WebContent”文件夹中提供。自定义上下文用于使该项目的依赖项在Web应用程序的类加载器中可用”
。我希望eclipse在构建项目后能够模拟从WEB-INF /
classes提供的每个类/资源文件(包括log4j.properties)。解决方法是,在WebContent内创建一个“
classes”文件夹,在此处复制log4j.properties文件,看看类加载器是否感到高兴?

2020-06-16