1

我尝试了所有想到的东西,但不知何故,事情没有解决。我使用 maven 创建了两个项目

  • 一个是网络应用程序
  • 其次是一个简单的java应用程序。

最初我使用 Maven 命令行(不是 eclipse)来构建我的 java 应用程序

mvn > install

并且正在使用 mvn >eclipse:cleanmvn > eclipse:eclipse更新依赖项。事情工作正常。现在我想在 web 应用程序中调试我的 Java 应用程序(jar),所以我停止使用 maven 构建过程并将我的 java 应用程序添加到项目选项卡下configure build path

我尝试清理、构建我的 web 应用程序,但不知何故 Tomcat 正在挑选我的 java 应用程序的旧文件。我什至清除了我的 Eclipse tomcat 工作目录并重新部署了应用程序,但没有用。

谁能指出我做错了什么。我正在使用Eclipse Kepler Release version嵌入式 Maven 插件。

4

3 回答 3

1

如果有人遇到类似问题,我将分享我修复它的过程。首先,我必须说,在我的情况下,java 文件中的更改已正确更新(这意味着它已被编译并正确复制到部署路径)。但是,资源文件(例如属性文件)并未更新。

通过以下过程,我设法正确更新了文件,并且可能会解决类似的问题。

  • 禁用自动构建(取消选中项目 > 自动构建)。
  • 单击项目 > 清理并选择有问题的项目。保持检查以在清理后启动构建。
  • 刷新项目(单击项目根目录上的辅助按钮以显示上下文菜单并选择刷新)。
  • 执行 Maven 清理包(您可以创建 Maven 运行配置并在目标字段中键入不带引号的“清理包”)
  • 再次刷新项目。
  • 清理服务器。为此,请单击违规服务器的上下文菜单上的清理(在“服务器”视图中)。

这是一个非常繁琐的过程,但如果没有正确复制这些步骤,它可能无法正常工作。

于 2018-04-19T07:04:41.867 回答
0

通常的罪魁祸首:

  • 有一个Tomcat进程仍在运行(重启失败,因为端口已被占用)。确保 Tomcat 确实停止了。
  • Tomcat 正在从一个意想不到的地方加载类。检查您的 Tomcat 配置和部署描述符(context.xml适用于您的应用程序)。
  • 在部署到正在运行的服务器期间,Eclipse 无法替换所有类文件。这通常是由于类加载器泄漏。使用探查器找到这些。
  • 确保类路径上没有重复项。maven-duplicate-finder是你的朋友。

[编辑]尝试使用ClassLoader.getResources()请参阅此问题)加载其中一个有问题的类。这为您提供了 Tomcat 用来加载类的绝对路径。

于 2013-10-08T15:34:17.637 回答
0

尝试以下操作:

  1. 删除托管您的 Web 应用程序的应用程序服务器上的文件。
  2. 检查您的 Pox.xml 和任何其他关联的配置文件,并确保您的构建设置正确。
于 2013-10-08T15:34:33.703 回答