Использование той же иерархии Java для Eclipse и Netbeans - PullRequest
2 голосов
/ 29 марта 2012

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

Структура каталогов:

src
| +main
| | +java
| |   +com
| |     +mycompany
| |       +utils
| |         +Bar.java
| |         +Foo.java
| +test
| | +java
| |   +com
| |     +mycompany
| |       +utils
| |         +BarTest.java
| |         +FooTest.java
bin
| +com
| | +mycompany
| |   +utils
| |     +Bar.class
| |     +Foo.class

Это не только отлично работает в Netbeans, но и является стандартом. (http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html) У меня проблема в том, что в Eclipse я могу видеть всю эту иерархию, но он жалуется, что файл Bar.java (выше), который имеет объявление пакета: "package com.mycompany.utils;", должен быть объявлен как "package main.java.com.mycompany.utils;", а это не то, что я хочу. Как я могу настроить Eclipse для распознавания этой иерархии?

Спасибо
Chelmite

Ответы [ 3 ]

0 голосов
/ 29 марта 2012

Вам необходимо отредактировать ваш classpathentry. Попробуйте отредактировать файл .classpath для вашего проекта eclipse и изменить его на что-то вроде следующего:

<classpathentry kind="src" output="bin" path="src/main/java"/>
0 голосов
/ 30 марта 2012

Несоответствие в том, что ваш проект Eclipse сконфигурирован с src в качестве корня исходного пути Java, хотя на самом деле у вас есть два отдельных дерева исходных файлов, оба в этой папке. Для правильной настройки:

  1. Открыть свойства проекта (щелкнув правой кнопкой мыши)
  2. Выберите Путь сборки Java слева, затем вкладку Источник справа
  3. Удалить src как исходную папку
  4. Добавить src/main/java и src/test/java в качестве исходных папок

Это говорит Eclipse, что у проекта есть две исходные папки, и он скомпилирует их вместе в папку bin.

Примечание. Настоятельно рекомендуется регистрировать файлы .project и .classpath и папку .setting s в svn, чтобы любой, кто проверяет проект в Eclipse, автоматически получал эту конфигурацию.

При желании вы можете настроить отдельные выходные местоположения сборки для каждой из исходных папок (вместо того, чтобы идти в bin).

0 голосов
/ 29 марта 2012

Eclipse не распознает правильную иерархию классов, поскольку определение исходных папок содержится в файлах метаданных, которые вы, вероятно, не проверяли в SVN. Поскольку вы, похоже, используете Maven, я бы порекомендовал вашим разработчикам установить m2e, который распознает и обрабатывает проекты Maven и не требует дополнительной настройки.

Indigo и Helios поставляются с установленной системой m2e.

Если вы хотите вручную исправить эти исходные деревья, то просто щелкните правой кнопкой мыши на проекте и определите две исходные папки

src/main/java
src/test/java
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...