Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.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项目(Maven、Spring)的版本(svn:ignore)?_Java_Svn_Spring_Maven_Ignore - Fatal编程技术网

如何正确地控制Java项目(Maven、Spring)的版本(svn:ignore)?

如何正确地控制Java项目(Maven、Spring)的版本(svn:ignore)?,java,svn,spring,maven,ignore,Java,Svn,Spring,Maven,Ignore,我参加了为期两天的培训,介绍Java EE。我们使用了JavaEE、Spring框架、Maven、SpringSourceToolSuite(Eclipse)、Tomcat 我使用我们在那里创建的Eclipse工作区,并在我的工作PC上运行它。如果我没记错的话,我只需要正确配置Tomcat,它在我的PC上工作 现在,我想在subversion中保存创建的包含5个“子”项目的Eclipse工作区,以便我的同事可以将其签出并在他们的计算机上运行 如何正确地做到这一点?我在某处发现了一个svn:忽略规

我参加了为期两天的培训,介绍Java EE。我们使用了JavaEE、Spring框架、Maven、SpringSourceToolSuite(Eclipse)、Tomcat

我使用我们在那里创建的Eclipse工作区,并在我的工作PC上运行它。如果我没记错的话,我只需要正确配置Tomcat,它在我的PC上工作

现在,我想在subversion中保存创建的包含5个“子”项目的Eclipse工作区,以便我的同事可以将其签出并在他们的计算机上运行

如何正确地做到这一点?我在某处发现了一个svn:忽略规则:

.classpath
.project
.settings
target
我使用tortoiseSVN将此忽略规则添加到工作区的文件夹中,但发现底层文件夹目标未被删除,因此我手动将其删除并“添加到忽略列表”。但是在那之后,spring源代码工具套件中的项目没有看到mevan依赖项(我想是的),因为导入被破坏了。STS组织。在进口方面表示无法解决这一问题


如何正确地控制这样一个项目的版本?

如果我以正确的方式理解您的问题,您需要配置Eclipse以便能够从中启动tomcat。这里的关键不再是maven,而是Eclipse,我认为。当您在工作区中进行了无法放入maven配置文件(pom.xml)的修改时,您将变得“依赖于Eclipse”

这里的关键是,由于您依赖于Eclipse,因此需要Eclipse配置文件才能工作。因此,恐怕您需要将
.classpath
.project
设置
添加回您的版本控制工具。。。它不是通用的,因为您强制从事您的项目的人员使用Eclipse。但是如果你的团队中的每个人都这么做,这应该不会是一个问题

由于我不再使用Eclipse,我不知道这些文件的版本控制是否会导致问题。但是,我希望这个答案将帮助您重新配置您的项目

编辑:为了更准确。。。也许能给出一个更好的答案

当使用版本控制系统时,主要目标通常是(总是?)给出使用源代码的所有键,并从中进行开发。因此,您需要在VCS中加入您的资源,以及高效使用这些资源所需的所有配置


在您的特定情况下,关键是您已经通过其Springsource工具套件插件依赖于Eclipse。因此,为这个工具添加配置文件变得非常重要,因为没有它们它们就不能工作,如果它们不能工作,你也不能工作。

我可以告诉你我颠覆maven eclipse项目的方法首先,创建项目结构时,必须设置、.classpath、.project文件提交到subversion存储库中。如果您不能做到这一点,其他同事将无法在签出后使用项目结构。提交项目结构后,最好的方法是不提交这些文件,除非您更改了一些重要的eclipse或构建路径设置,因为其他文件由于依赖于系统的信息而存在冲突永远不要提交maven目标目录。对不起我的英语。希望有帮助。

在我的项目中,我们正在使用Maven和Eclipse(Helios,目前)以及用于Eclipse的Maven插件:

Eclipse的Maven集成 WTP的Maven集成

我们的版本控制系统中只有pom.xml文件和src/目录树。我们确保不在那里添加eclipse文件。然后,当新开发人员在项目中启动时,他们会导入->Maven->现有Maven项目。然后,用于Eclipse的Maven插件设置了完美的构建路径、设置等

通过这种方式,根据需要将项目重新导入Eclipse也非常容易


因此,我的建议是将Eclipse文件保留在SVN之外,并确保只需导入Maven项目即可自动正确设置项目。

谢谢您的回答。我希望我不依赖日食,我也不想依赖日食。在培训中,我们被告知使用Maven可以使我们独立于IDE。但我忘了问如何控制这样一个项目的版本。现在我正在尝试,但做不到,所以我在这里问。我认为这是maven在大多数使用它的项目中最伟大的角色之一。对Eclipse的依赖可能是通过STS创建的,但是。。。我确实这样认为,因为当您删除Eclipse配置文件时出现了问题。。。这在某些方面是合乎逻辑的,因为运行tomcat的方式(如果我理解正确,我不是JEE专家)与STS和Eclipse直接相关。但我可能错了。实际上,在共享maven项目时,您不需要.settings、.classpath或.project。如果您将项目作为Maven项目导入Eclipse,那么这些文件将自动生成。但是如果使用subclipse进行签出,Eclipse将自动打开项目,这与导入现有Maven项目不同。因此,如果你想用eclipse签出项目,我认为这些文件必须提交。嗯,很棘手。我认为我更喜欢使用单独的SVN应用程序(例如,如果您使用的是Windows,则使用OrtoiseSVN)检查项目,然后在Eclipse中将项目作为Maven项目导入。您仍然可以访问Subclipse功能,只是不用于初始签出,而且您还可以获得不必对项目文件进行版本管理的优势。但是,是的,有一个缺点。我尝试了这种方法,除了一件事之外,它看起来基本上还可以:我在我的项目中添加了一个Springbean,STS将Springbean配置文件(SpringBeans.xml)添加到/src目录中。除非我右键单击src文件夹并选择Build Path->Use as source folder(将一行添加到.classpath中),否则项目不会编译。类路径也需要版本控制,或者SpringBeans应该是c吗