Problem z budowaniem (maven): CreateProcess error=206, The filename or extension is too long

1

Mam problem z budowaniem projektu mavenowego na win10

Could not exec java: Cannot run program "C:\Users\***\Desktop\soft\java\jdk11\bin\java.exe" (in directory "C:\Users\***\Desktop\repo\***\starter"): CreateProcess error=206, The filename or extension is too long

Jakieś pomysły jak to rozwiązać? Windows to jednak chyba się nie nadaje do programowania...

3

The filename or extension is too long

Zmienić nazwy folderów na krótsze?

Pierwszy link z google

0
KamilAdam napisał(a):

The filename or extension is too long

Zmienić nazwy folderów na krótsze?

Pierwszy link z google

Próbowałem, wcześniej miałem dłuższe nazwy teraz są krótsze.

2

Teraz są krótsze niż 255 znaków? Internet mówi że taki jest limit. To jest limit dla najgłębiej osadzonego pliku więc teoretycznie są możliwe projekty których nie skompilujesz na windowsie <zamyślony>
Sam robiłeś ten projekt czy ściągnąłeś z firmowego repo?
BTW czemu trzymasz wszystko na pulpicie :D

0

Ściągnięty z firmowego repo i rozwijam go dalej. Ścieżki są krótsze niż 255 znaków.

BTW czemu trzymasz wszystko na pulpicie :D

Nie wiem na windows to wygodne imo chyba nie powinno mieć znaczenia :P

3

Weź po prostu zainstaluj sobie WSL i buduj w linuxie - jak ludzie.

1

Ścieżki są krótsze niż 255 znaków.

Na pewno? Szczególnie jakieś w zagnieżdżonych pakietach i z jakimiś klasami z długimi nazwami?

0

Strzelam...

Podałeś: C:\Users\***\Desktop\soft\java\jdk11\bin\java.exe

Może warto się upewnić, czy Twój username nie jest jakiś wyjątkowy i któryś z procesów nie interpretuje tego w wyjątkowy sposób:

C:\User\bob\Desktop... - \b jak backspace
C:\User\tomek\Desktop... \t jak tab
C:\User\norbert\Desktop... \n jak new line
C:\User\rysio\Desktop... \r jak return

Gdzieś w pom.xml możesz te ścieżki pewnie zuniksować: C:/User/...

1

@Shalom:

Na pewno? Szczególnie jakieś w zagnieżdżonych pakietach i z jakimiś klasami z długimi nazwami?

Odpaliłem coś takiego:

find . -type f | grep -v '.git' | grep -v '.idea' | xargs -I {} sh -c 'echo "$(pwd)/{}" | wc -c' | sort -nr | uniq | head 

wynik:

205
202
201
200
199
198
197
195
194
193

czyli wychodzi poniżej 255.

@jarekr000000:

Weź po prostu zainstaluj sobie WSL i buduj w linuxie - jak ludzie.

Nigdy tak nie robiłem zawsze mi się wydawało, że coś się przez to będzie walić bo programuję w IDE na win a buduję na linux (wsl).
Poza tym fajnie by było żeby z IDE też się budowało chyba, że można dla Idea powiedzieć żeby korzystał z środowiska (java + maven) linuksowego tj. wsl
podobnie jak np. domyślny terminal można ustawić na wsl zamiast cmd.
Jutro spróbuję.

1

sprobuj tego:
https://mspoweruser.com/ntfs-260-character-windows-10/

ale raczej stawiam na to ze nie chodzi o dlugosc tylko wlasnie znaki specjalne lub jeszcze cos innego

0

sprobuj tego:
https://mspoweruser.com/ntfs-260-character-windows-10/

Nie widzę tam takiej opcji jak Enable NTFS long paths

1

A jeszcze jedno: Jave masz na pulpicie. Ogólna zasada jest taka że wszelkie maveny, javy, pythony, gcc czy mejki wrzucasz do
c:\<podkatalog>\<nazwa-narzedzia> gdzie obie części nazwy mają max 8 znaków
gdyż ponieważ w Twoim przypadku, jeśli masz spacje w nazwie użytkownika, w ścieżce może pojawić się nierozpoznawalna ścieżka ze skróceniem
(C:\Users\look~1\).

0

@lookacode1: Jeżeli ścieżka rzeczywiście jest zbyt długa, to szybkim obejściem może okazać się użycie polecenia SUBST.

0

Jest konfiguracja, która podnosi kontekst i pobiera specyfikacje api. Jak zeskipuje ją wtedy wszystko buduje się poprawnie.
Warto wspomnieć, że na komputerze kolegi z zespołu ten sam błąd występuje.

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <finalName>${project.artifactId}</finalName>
                <jvmArguments>-Dspring.application.admin.enabled=true</jvmArguments>
            </configuration>
            <executions>
                <execution>
                    <id>pre-integration-test</id>
                    <goals>
                        <goal>start</goal>
                    </goals>
                    <configuration>
                        <wait>1000</wait>
                    </configuration>
                </execution>
                <execution>
                    <id>post-integration-test</id>
                    <goals>
                        <goal>stop</goal>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.springdoc</groupId>
            <artifactId>springdoc-openapi-maven-plugin</artifactId>
            <version>1.3</version>
            <executions>
                <execution>
                    <phase>integration-test</phase>
                    <goals>
                        <goal>generate</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <outputFileName>openapi.yaml</outputFileName>
                <outputDir>${project.build.directory}/openapi</outputDir>
                <apiDocsUrl>http://localhost:8080/v3/api-docs</apiDocsUrl>
            </configuration>
        </plugin>
    </plugins>
</build>

1 użytkowników online, w tym zalogowanych: 0, gości: 1