Относительный путь Java работает по-разному в разных проектах с одинаковым кодом - PullRequest
0 голосов
/ 16 апреля 2011

Я не уверен, что это проблема Windows или Java.Вот сценарий

У меня есть проект maven, который использует проект плагина maven для создания своего кода.Короче говоря, он ищет файл в корневом каталоге C: /, потому что user.dir дает неверный результат.

Я создал 2 разные учетные записи Windows, одна - сетевой домен, а другая - локальная.учетная запись.Когда я делаю сборку, используя плагин для локальной учетной записи Windows, она работает очень хорошо.Тем не менее, когда я делаю сборку на сетевой учетной записи, это не удается из-за user.dir.

Возвращается учетная запись домена Windows

USer dir i s C:\

Локальная учетная запись Windows

USer dir i s C:\workspace\...correct path

С следующим кодом.

System.out.println("USer dir is" + System.getProperty("user.dir"));

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

Кто-нибудь знает какие-либо настройки maven, которые могут испортить user.dir, или какое может быть возможное объяснение?

Я посмотрел разрешения папок. Щелкните правой кнопкой мыши файл -> Свойства -> Безопасность -> (Пришлось создать себя как пользователя) -> Разрешения.
В столбце, унаследованном от, помечен кактогда как другие учетные записи наследуются от диска C: /.

Я установил себя как администратор и позволил себе полные права.Я на грани того, чтобы не знать, является ли проблема с Windows, Java или Maven, и я был бы очень признателен за любые предложения, указания и прочее: -)

1 Ответ

0 голосов
/ 16 апреля 2011

Скорее всего, ошибка в том, как вы запускаете Maven.

Вы можете попробовать запустить maven с помощью,

mvn -Duser.dir=thecorrectpath

Чтобы установить user.dir вручную.

...