我有一种奇怪的情况。
有一次,我需要分支,所以我复制了我的eclipse工作区,并开始研究同一个项目的两(2)个并行版本。
开发在Windows工作站上完成。出于测试目的,将应用程序部署到Linux服务器上。
如果我在Windows工作站上为任一项目运行mvn jetty:run
或mvn clean compile
,一切正常。项目使用相同的pom.xml
,因此没有区别。
但是,如果我将源代码转移到Linux服务器上,只有旧分支编译100%而新分支编译类似45%的含义,如果我运行它,它会给出很多关于ClassNotFoundException
的抱怨。 ..
奇怪的是:
target/classe
时,缺少.class
个文件,其.java
路径中有src/main/java/
个文件< / LI>
非常混乱。现在我要做的是在Windows工作站上编译源代码并将目标/类内容复制到Linux服务器上,但似乎真的没必要。我想到的唯一一件事就是新版本使用了一些重要的前沿泛型,但如果这样会受到影响,我会认为a)Windows上的结果与Linux相同,b)一些错误信息。但没有什么,只是“建立成功”与许多缺少.class文件。
有什么想法吗? Woodoo?
以下是该问题的一些更新:它也开始在Windows上发生(神奇地没有编译大部分的java文件而没有任何错误指示)然后我只是在最近编译的版本和后来的版本之间使用了DIFF非编译版本。差异很容易,因为只有一些变化。我发现我有一个大小约600k的java文件(许多内联数据初始化等),这似乎有所不同。我将这个特定的java文件分成两部分(原始分为109k,助手分为567k)。现在它再次为Windows编译,我可能会继续寻找其他这样的大文件,或者进一步拆分这个文件以确定它是否也将开始在Linux上编译!
答案 0 :(得分:1)
当我们升级到JDK 7时,问题最终会自行解决。
神秘。