2015-10-18 92 views
0

我正在与另外两个人一起开发一个项目。我们都使用相同版本的Eclipse(Mars.1),但是我们偶尔会在我们的机器上安装不同版本的Java库,仅仅是因为我们中的一个人升级了,其他人还没有(尚未)。这是暂时的,但很明显会导致构建问题。在没有指定构建的类路径中包含Java 1.8

这里是的.classpath的样子(注:我手动插在引用JRE_CONTAINER帮助您避免滚动行的行换行):

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="src" path="res"/> 
    <classpathentry exported="true" kind="lib" path="lib/swingx-all-1.6.4.jar"/> 
    <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/ 
     org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 8 [1.8.0_25]"> 
      <attributes> 
       <attribute name="owner.project.facets" value="java"/> 
      </attributes> 
     </classpathentry> 
     <classpathentry kind="output" path="build/classes"/> 
    </classpath> 

正如你所看到的,行指定构建。是否有可能以特定构建不包含的方式来指定它?

回答

2

是的,发生在我们身上的解决方案是从代码库(Git,SVN等)中删除.classpath文件,并将其放入忽略的文件列表(.gitignore文件或任何您使用的文件)。

也从每个开发人员的工作区中删除.classpath文件,Eclipse将专门为您的环境重新生成此文件。

这将避免任何进一步的问题与不同的小java版本。

编辑:既然你提到你不使用任何的构建系统,这里是一个最小的pom.xml,让您可以将项目转化为Maven项目:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>your-organization</groupId> 
    <artifactId>your-project-or-module-name</artifactId> 
    <version>1.0.0</version> 
    <packaging>jar</packaging> 

    <name>NameOfTheProject</name> 

    <properties> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
     <java.version>1.8</java.version> 
    </properties> 

    <dependencies> 

     <!-- Reference your libraries here --> 
     <!-- Maven will download them automatically :O --> 

     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.12</version> 
      <scope>test</scope> 
     </dependency> 

    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.1</version> 
       <configuration> 
        <source>${java.version}</source> 
        <target>${java.version}</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 

</project> 

下面是一个Introduction to the standard directory layout和下面是指南在Specifying resource directories上。

+0

你是如何解决构建问题的?我们使用.classpath指向像/ res这样的文件夹(包含图像等资源)。当进行更改时,是否必须手动让所有“团队”分别更新他们的类路径?注:我意识到我们应该使用Maven或Ant或其他东西,但我的两个合作伙伴对这些工具没有经验,我们没有时间介绍它(这是一个学期的项目) – Greg

+0

@Greg我们使用Maven 。你应该尝试一下,这很容易得到一个最小的设置。您只需将一个最小的'pom.xml'文件添加到项目的根目录并告诉Eclipse这是一个Maven项目。选项2:转到新建项目> Maven项目,选择一个默认原型并导入代码。 – ESala