Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Eclipse中自动设置构建路径_Java_Eclipse_Svn - Fatal编程技术网

Java 如何在Eclipse中自动设置构建路径

Java 如何在Eclipse中自动设置构建路径,java,eclipse,svn,Java,Eclipse,Svn,每当我从svn更新我们项目的代码时,我必须设置我再次导入的库的构建路径,因为最后一个提交的人与我的类路径不同 Eclipse中有没有一种方法可以在从SVN更新后自动放入导入的库?我听说过构建文件(Ant、Maven),但我真的不确定我看的是否正确 如何:不要将本地类路径文件作为“.classpath”提交到存储库 我并不想成为一个聪明人,但允许人们检查破坏其他开发人员环境的东西是荒谬的。这样如何:不要将本地类路径文件作为“.classpath”提交到存储库 我并不想成为一个聪明人,但允许人们检查

每当我从svn更新我们项目的代码时,我必须设置我再次导入的库的构建路径,因为最后一个提交的人与我的类路径不同

Eclipse中有没有一种方法可以在从SVN更新后自动放入导入的库?我听说过构建文件(Ant、Maven),但我真的不确定我看的是否正确

如何:不要将本地类路径文件作为“.classpath”提交到存储库

我并不想成为一个聪明人,但允许人们检查破坏其他开发人员环境的东西是荒谬的。

这样如何:不要将本地类路径文件作为“.classpath”提交到存储库


我并不想成为一个聪明人,但允许人们检查破坏其他开发人员环境的东西是荒谬的。

要么不检查类路径文件,要么在每个开发人员的机器上使用相同的目录结构

要么不签入类路径文件,要么在每个开发人员的机器上使用相同的目录结构

maven依赖项管理和maven eclipse插件将是一个解决方案


一旦有了运行中的maven设置,就可以使用eclipse插件创建.project和.classpath文件。这些文件不会被签入(所有信息都在maven pom文件中)。

maven依赖项管理和maven eclipse插件将是一个解决方案


一旦有了运行中的maven设置,就可以使用eclipse插件创建.project和.classpath文件。这些文件不会被签入(所有信息都在maven pom文件中)。

Ant+Ivy是另一种解决方案。据我所知,没有常春藤->日食任务。我们在一个项目中使用了ant+ivy,并从ivy元数据创建了.classpath和.project文件。(这是Ivy1.x,也许Ivy2已经能够做到这一点。)这类似于maven方法。

Ant+ivy是另一种解决方案。据我所知,没有常春藤->日食任务。我们在一个项目中使用了ant+ivy,并从ivy元数据创建了.classpath和.project文件。(这是ivy 1.x,也许ivy 2已经能够做到这一点了。)这类似于maven方法。

如果您的项目很简单,并且很少有外部依赖项,那么不添加.classpath/.project文件是可以的。实际上,您通常需要维护许多关系,因此使.classpath可移植的开销远小于每次将项目引入工作区时重新定义它的累积开销。您的配置越复杂,您在尝试重新构建项目配置时遇到的错误就越微妙

您应该能够通过使用变量和库来设置类路径,使其可移植,这样就避免了硬编码路径的需要。您的团队可以就要使用的标准变量集(和/或库)达成一致。然后需要在每个开发人员的机器上定义一个变量,该变量指向您在路径中使用的公共资源

比变量更好的是库。您可以定义自定义库(在
Window->Preferences->Java->Build Path->User libraries
)来引用您的通用组件,然后在每个项目中重用这些库。配置的库可以从
用户库
页面导出,供您的同行使用

插件,如提供库(也称为类路径容器),可以根据某些配置(m2eclipse中的Maven POM)自动生成内容。这将抽象到底层资源的路径,并允许将多个JAR动态添加到路径中

如果您没有使用Maven,典型的.classpath问题是您希望将文件夹中的所有JAR添加到类路径中。显示如何定义自定义插件,通过类路径容器贡献文件夹中的所有JAR,您还可以使用此方法将源自动附加到发现的元素,避免每次重复此操作

下面是我最近参与的一个项目的.classpath上的一个典型例子。该库使配置更加详细,更加可移植,允许跨项目重用,并定义源附件

之前:

<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/xml-apis.jar" sourcepath="C:/apache-ant-1.7.1/src/main"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant.jar" sourcepath="C:/apache-ant-1.7.1/src/main"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-antlr.jar" sourcepath="C:/apache-ant-1.7.1/src/main"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-apache-bcel.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-apache-bsf.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-apache-log4j.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-apache-oro.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-apache-regexp.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-apache-resolver.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-commons-logging.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-commons-net.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-jai.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-javamail.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-jdepend.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-jmf.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-jsch.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-junit.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-launcher.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-netrexx.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-nodeps.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-starteam.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-stylebook.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-swing.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-testutil.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-trax.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/ant-weblogic.jar"/>
<classpathentry kind="lib" path="C:/apache-ant-1.7.1/lib/xercesImpl.jar"/>

之后:

<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<!--all ant jars and source attachments defined here -->
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/ant"/>

如果您的项目很简单,并且几乎没有外部依赖项,那么不添加.classpath/.project文件是可以的。实际上,您通常需要维护许多关系,因此使.classpath可移植的开销远小于每次将项目引入工作区时重新定义它的累积开销。您的配置越复杂,您在尝试重新构建项目配置时遇到的错误就越微妙

您应该能够通过使用变量和库来设置类路径,使其可移植,这样就避免了硬编码路径的需要。您的团队可以就要使用的标准变量集(和/或库)达成一致。然后需要在每个开发人员的机器上定义一个变量,该变量指向您在路径中使用的公共资源

比变量更好的是库。您可以定义自定义库(在
Window->Preferences->Java->Build Path->User libraries
)来引用您的通用组件,然后在每个项目中重用这些库。配置的库可以从
用户库
页面导出,供您的同行使用

插件,如提供库(也称为类路径容器),可以根据某些配置(m2eclipse中的Maven POM)自动生成内容。这将抽象到底层资源的路径,并允许将多个JAR动态添加到路径中

如果您没有使用Maven,典型的.classpath问题是您希望在fo中添加所有JAR