windows - Java relativ sti fungerer forskelligt i forskellige projekter med samme kode

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg er ikke sikker på, om dette er et Windows-problem eller et Java-problem. Her er scenariet


Jeg har fået et maven projekt, der bruger et maven plugin projekt til at bygge nogle af sin kode. Lang historie kort, den søger en fil i rodmappen C:/fordi user.dir giver det forkerte resultat.


Jeg har oprettet 2 forskellige Windows-konti, en er et netværk domæne og den anden er lokal konto. Når jeg laver en konstruktion ved hjælp af plugin'et på Windows lokale konto, virker det peachy ivrige. Men når jeg laver en build på netværkskontoen, fejler den på grund af user.dir.


Windows domænekonto returnerer


USer dir i s C:


Windows lokal konto


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


Med follwing-koden.


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


Jeg har også forsøgt at tilføje denne kode i den samme projektmappe på Windows-domænekontoen, og den finder stien korrekt. (Bare at oprette en testklasse, der ikke bruger maven eller plugin-projektet).


Kender nogen nogen maven indstillinger, der ville ødelægge user.dir eller hvad en mulig forklaring kunne være?


Jeg kiggede på tilladelserne i mapperne
Højreklik på fil -> Egenskaber -> Sikkerhed -> (Skal oprette mig selv som bruger) -> Tilladelser.

I kolonnen arvet fra, er markeret som mens de andre konti arver fra C:/drevet.


Jeg har sat mig selv som administrator og tillod mig fuld tilladelser. Jeg er ved at ikke vide, om dens Windows, Java eller Maven forårsager problemet og virkelig vil sætte pris på forslag, pointers, noget :-)

Bedste reference


Det er sandsynligvis fejlen i den måde du starter maven på.


Du kan prøve at starte maven med,


mvn -Duser.dir=thecorrectpath


At indstille user.dir manuelt.