Java Windows和Mac上的Android库项目

Java Windows和Mac上的Android库项目,java,android,eclipse,git,noclassdeffounderror,Java,Android,Eclipse,Git,Noclassdeffounderror,我代表我的两个Android开发团队问这个问题。我使用Windows,我的合作伙伴使用Macbook。当通过Git共享项目时,类路径意外地被弄乱了。以下是一些观察结果: 无法再解析引用的库项目(最初工作) 通过“Java构建路径”中的“项目”选项卡添加时,可以找到库 但是应用程序崩溃了(由于NoClassDefFoundError),再次指向混乱的构建路径结构 Mac上最初引用的库项目通常作为JAR直接显示在构建路径中。现在他们在Android依赖项下这样做,这很奇怪(前者更多) 在Windo

我代表我的两个Android开发团队问这个问题。我使用Windows,我的合作伙伴使用Macbook。当通过Git共享项目时,
类路径
意外地被弄乱了。以下是一些观察结果:

  • 无法再解析引用的库项目(最初工作)
  • 通过“Java构建路径”中的“项目”选项卡添加时,可以找到库
  • 但是应用程序崩溃了(由于
    NoClassDefFoundError
    ),再次指向混乱的构建路径结构
  • Mac上最初引用的库项目通常作为JAR直接显示在构建路径中。现在他们在Android依赖项下这样做,这很奇怪(前者更多)
  • 在Windows上,上述JAR始终位于依赖项和引用库之下
我希望通过一种方式来解决这个问题,我们可以在Git上共享项目,并在将来无缝地工作。:)

一个选项是:

  • 不是版本
    .classpath
  • 类路径模板的版本
  • 根据签出代码的当前平台生成正确的类路径
这称为a,这里是一个
smudge
脚本,它将在
git checkout
上自动调用(因此是“无缝”方面),并将生成实际的
.classpath
(否则未进行版本控制并添加到
.gitignore

(图像显示在“”中,来自“”)

请注意,您可以轻松地从repo中删除
.classpath
(无需在本地删除):

git rm --cached -- .classpath
git add -u .
git commit -m "Delete .classpath"
git push

你知道NoClassDefFoundError出现的原因吗?有一些原因,所以你理解java版本是如何出现的,等等。我不确定我是否理解你的意思,@naveentamakar。首先检查bath machine的java版本并检查项目中添加的库
。classpath
是错误地添加到提交中的。另外,我对Git还很陌生,以前从未使用过
smudge
脚本。我一定会读更多关于它的文章,为我的项目设计一个。非常感谢!:)@SlashG您可以轻松地删除它(无需删除):
git rm--cached--.classpath;吉特加-u;git commit-m“Delete.classpath”
@SlashG污迹脚本可以用任何脚本语言编写。bash脚本可以在Windows和Linux上运行。特别感谢您提供的删除提示!我希望它能正常工作。我在答案中加入了删除过程,以提高可视性。