Относительные пути в Eclipse - PullRequest
4 голосов
/ 08 июня 2011

У меня есть рабочее пространство Eclipse, которое зарегистрировано в хранилище Subversion. Однако, если я изменю имя каталога рабочей области, файлы проекта не будут загружены, и мне придется их повторно импортировать, а также снова установить любые параметры, связанные с рабочей областью. Работает ли Eclipse с относительными путями? Я не единственный член команды в этом проекте, и, к сожалению, другой парень отказывается следовать общей схеме организации каталогов.

РЕДАКТИРОВАТЬ Это все Java-проекты на данный момент

РЕДАКТИРОВАТЬ В папке метаданных рабочей области есть несколько файлов, хотя вот первый, который я нашел в связи с проектом

<workspace root>\.metadata\plugins\org.eclipse.core.resources\.projects\ProjectName\.location

Именно в этом файле ".location" существует URL на основе файла. Я провел некоторое исследование после сбоя Eclipse, когда попытался использовать относительный путь, и пришел к выводу, что относительные пути невозможны для URL.

РЕДАКТИРОВАТЬ Вот содержимое .classpath и .project

.classpath

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

.project

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>SimpleHelloWorld</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
</projectDescription>

В целях настройки и тестирования я пытался заставить эту работу работать только с нашим простым Hello World! образец.

Ответы [ 3 ]

3 голосов
/ 08 июня 2011

Рабочая область никогда не предназначалась для управления исходным кодом.Может быть, я неправильно понял вашу настройку, но если вы пытаетесь зафиксировать папку .metadata вашей рабочей области в управлении исходным кодом, вы столкнетесь с кучей неприятностей!проецировать себя.Затем через Subversive или другие плагины Subversion получите проект от SCM.Это позволит eclipse автоматически создавать для вас все ресурсы и конфигурации для ваших проектов, и они должны компилироваться сразу после установки, если у вас есть все зависимости.

Почему вы чувствуете необходимость иметь всю папку метаданныхв управлении исходным кодом для начала?

Если вы ищете простой способ управления сборкой, то я предлагаю вам обратиться к Ant, Maven или другим подобным инструментам, чтобы помочь вам.Если вы хотите сохранить свои настройки, большинство из них имеют функцию экспорта, я предлагаю вам получить специальный проект для хранения этих настроек и помещения их под контроль исходного кода, что не идеально, поскольку они не автоматизированы, но после настройки они не должны менять всеэто часто.Обычно я даже отфильтровываю папку .settings и .classpath из своих проектов перед тем, как отправить их в SCM, и позволяю eclipse и плагину maven регенерировать их для меня по мере необходимости.До сих пор у меня никогда не было проблем с возвратом своих вещей из SCM.Установка нового sation немного дольше, но с помощью эталонной установки Eclipse со всеми плагинами импорт импорта конфигов и проектов очень быстрый.

3 голосов
/ 08 июня 2011

Eclipse обычно работает с относительными путями.На моем рабочем месте мы используем хранилище Subversion с плагином Subversive.Когда мы делаем новый импорт, у нас нет проблем для компиляции.

Вы можете отредактировать файлы .project и .classpath вашего проекта, чтобы увидеть, есть ли ссылка на абсолютное местоположение и изменитьэто будет относительный.

0 голосов
/ 11 мая 2015

Не похоже, что Eclipse может делать все с относительными путями. Одна дешевая вещь, которую вы можете сделать, это настроить идентичный предварительно сконфигурированный Eclipse по одному и тому же пути на разных машинах. В будущем облачные IDE, такие как Eclipse Orion , могут решить такие проблемы ...

...