当前位置: 代码迷 >> CVS/SVN >> myEclipse用SVN检出项目出有关问题
  详细解决方案

myEclipse用SVN检出项目出有关问题

热度:10282   发布时间:2013-02-26 00:00:00.0
myEclipse用SVN检出项目出问题
问题一:   myEclipse无法用SVN检出完整项目(只有几个单个的文件夹,没有头https://192.168.6.8:8443/svn/xfmod)。

解决思路:查看SVN版本,SVN是向下兼容的,低版本的subclipse(eclipse中的SVN插件)检出时会出问题。

解决过程:我用的是下面的第四种方法,在下载了subclipse1.8版本后在myeclipse中运行后解决问题。

产生以上问题的过程:我当时承认喝了鸡血。太懒了(虽然有时这也是程序员的美德,但我当时可能美过头了。)我拿下面那段代码(方法四中)直接在正在运行的旧的eclipse中执行,然后把结果加在了新的myeclipse的配置中(为什么要在就得eclipse中运行呢?因为我不想再新建个工程了     想到这我就想吐血....吐血ing 。。。。,还好当时不是急着用,不然就悲剧了)。然后悲剧发生了,纠结了几天后问同事无果,自己又重新安装一遍后就ok了。

思考:勤劳是一种美德,古人果然说的没错。不过不可否认,偷懒也是,虽然有时候也让人吐血,或者说我的确太懒了。





myeclipse中安装SVN方法:

以下转自:http://hi.baidu.com/294286540/blog/item/f89af3014404630d738b656d

方法一:在线安装

1.打开HELP->MyEclipse Configuration
Center。切换到SoftWare标签页。
2.点击Add Site 打开对话框,在对话框Name输入Svn,URL中输入:http://subclipse.tigris.org/update_1.6.x
3.在左边栏中找到Personal Site中找到SVN展开。将Core SVNKit Library和Optional JNA
Library添加(右键Add to Profile),Subclipse下面的Subclipse Integration for Mylyn
3.0可以不添加(特别注意,此处不要添加)。
4.在右下角窗格(Pending Changes )中点击Apply。安装重启后MyEclipse即可。
方法二:link安装
安装subclipse, MyEclipse9.0 SVN插件
1、从官网下载site-1.6.10.zip文件,网址是:subclipse.tigris.org,
2、从中解压出features与 plugins文件夹,复制到E:\MyEclipse\myPlugin\svn里面,其它的*.xml文件不要。
3、在 E:\MyEclipse\MyEclipse9.0\dropins下新建文件svn.link,内容是:path=E:\\MyEclipse \\myPlugin\\svn保存。
4、(唛呆儿:这一步不确定,先不要删除)删除E:\MyEclipse\MyEclipse8.5\configuration \org.eclipse.update文件夹
5、重启myeclipse就一切正常了。[/size]
以上两种方法都尝试成功
方法三:直接解压
下载SVN插件:site-1.6.10.zip
解压后将其全部文件拷贝至:D:\Program Files\Genuitec\MyEclipse 8.5\dropins(MyEclipse的安装目录)
重启MyEclipse即可出现SVN!
方法四:肯定可行的方法

1、下载最新的SVN包:
http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240
2、在你的磁盘上任意位置创建文件夹:“myplugins/svn”。名字可以任取,为了方便插件管理,建议名称为“myplugins”。
3、将解压的svn里的两个文件夹拷贝到“myplugins/svn”下。
4、复制下列java代码,修改路径并执行:
package app;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* MyEclipse9 插件配置代码生成器
*
*
*/
public class PluginConfigCreator
{
    public PluginConfigCreator()
    {
    }
    public void print(String path)
    {
        List<String> list = getFileList(path);
        if (list == null)
        {
            return;
        }
        int length = list.size();
        for (int i = 0; i < length; i++)
        {
            String result = "";
            String thePath = getFormatPath(getString(list.get(i)));
            File file = new File(thePath);
            if (file.isDirectory())
            {
                String fileName = file.getName();
                if (fileName.indexOf("_") < 0)
                {
                    print(thePath);
                    continue;
                }
                String[] filenames = fileName.split("_");
                String filename1 = filenames[0];
                String filename2 = filenames[1];
                result = filename1 + "," + filename2 + ",file:/" + path + "/"
                        + fileName + "//,4,false";
                System.out.println(result);
            } else if (file.isFile())
            {
                String fileName = file.getName();
                if (fileName.indexOf("_") < 0)
                {
                    continue;
                }
                int last = fileName.lastIndexOf("_");// 最后一个下划线的位置
                String filename1 = fileName.substring(0, last);
                String filename2 = fileName.substring(last + 1, fileName
                        .length() - 4);
                result = filename1 + "," + filename2 + ",file:/" + path + "/"
                        + fileName + ",4,false";
                System.out.println(result);
            }
        }
    }
    public List<String> getFileList(String path)
    {
        path = getFormatPath(path);
        path = path + "/";
        File filePath = new File(path);
        if (!filePath.isDirectory())
        {
            return null;
        }
        String[] filelist = filePath.list();
        List<String> filelistFilter = new ArrayList<String>();
        for (int i = 0; i < filelist.length; i++)
        {
            String tempfilename = getFormatPath(path + filelist[i]);
            filelistFilter.add(tempfilename);
        }
        return filelistFilter;
    }
    public String getString(Object object)
    {
        if (object == null)
        {
            return "";
        }
        return String.valueOf(object);
    }
    public String getFormatPath(String path)
    {
        path = path.replaceAll("////", "/");
        path = path.replaceAll("//", "/");
        return path;
    }
    public static void main(String[] args)
    {
        /*你的插件的安装目录*/
            String plugin = "改成安装目录(如:d:/myeclipse/myplugins/svn/)";
        new PluginConfigCreator().print(plugin);
    }
}
这里需要注意的是修改成为刚才svn所在路径,建议改为绝对路径。比如d:/myplugins/svn/。。。
5、 找到“$myeclipse_home/configuration /org.eclipse.equinox.simpleconfigurator/”,打开其中的“bundles.inf”文件,为了防止分不清是不 是我们自己后加的东西,在最后面多回几次车,然后粘贴第4步运行后的代码,保存
6、重启myeclipse
  相关解决方案