Mam ten błąd w heliosach zaćmienia:
Wystąpił wyjątek podczas wykonywania wiersza poleceń. Nie można uruchomić programu „C: \ Program Files (x86) \ Java \ jre6 \ bin \ javaw.exe” (w katalogu „C: \ Users \ motiver \ helios_workspace \ TimeTracker”): CreateProcess error = 206, Nazwa pliku lub rozszerzenie to za długo
Trochę badałem, ale większość problemów była związana z DataNucleus podczas pracy w Google App Engine. Ale nie używam niczego zdalnie związanego z Google App Engine. Robię mały projekt z Servlet 3.0 na JBOSS 6. Używam Hibernate 4.1.2 dla ORM i RESTEasy do udostępnienia usługi sieciowej. Utworzyłem plik narzędziowy, który ma metodę main (), która w zasadzie porzuca i ponownie tworzy schemat. Uruchamiam metodę main (), gdy potrzebuję czystej bazy danych do celów testowych. Działało dobrze na Tomcat 7, ale przestało działać, kiedy przeniosłem się na JBoss 6.
Każda wskazówka lub rozwiązanie byłyby bardzo mile widziane.
C:\Program Files (x86)\Java\jre6\bin\javaw.exe
jest długi, czy innyC:\Users\motiver\helios_workspace\TimeTracker
. Ja też mam ten sam problem.Odpowiedzi:
Nie ma prostego (jak za pomocą kilku kliknięć lub prostego polecenia) rozwiązania tego problemu.
Cytując niektóre odpowiedzi w tym raporcie o błędzie na Eclipse.org , oto sposoby obejścia tego problemu . Wybierz ten, który jest dla Ciebie najmniej bolesny:
Aktualizacja : po lipcu 2014 jest lepszy sposób (dzięki odpowiedzi @ Brad-Mace poniżej :
Jeśli utworzyłeś własny plik kompilacji zamiast używać
Project -> Generate Javadocs
, możesz dodaćuseexternalfile="yes"
do zadania Javadoc, które zostało zaprojektowane specjalnie w celu rozwiązania tego problemu.źródło
-classpath
argument został wygenerowany tak, aby zawierał wszystkie zależności. Tak, coś takiego wyszło:C:\Users\myself\.m2\repository\…;C:\Users\myself\.m2\repository\…[…tons more]
. Przeniesienie mojej lokalnej pamięci podręcznej repozytorium Maven, abyD:\m2
załatwić sprawę: Classpath skurczył się doD:\m2\…;D:\m2\…
- bingo! Pamiętaj, aby ustawićlocalRepository
ścieżkę w konfiguracji maven.Jeśli utworzysz własny plik kompilacji zamiast używać
Project -> Generate Javadocs
, możesz dodaćuseexternalfile="yes"
dojavadoc
zadania, które zostało zaprojektowane specjalnie w celu rozwiązania tego problemu.źródło
Zmierzyłem się dzisiaj z tym problemem i udało mi się go rozwiązać za pomocą tej wtyczki Gradle
To jest adres github
JEŚLI, tak jak ja, nie masz pojęcia, czym jest Gradle, ale potrzebujesz uruchomić backend, aby wykonać swoją pracę z przodu, co musisz zrobić, to znaleźć plik build.gradle , który jest wywoływany, aby uruchomić serwer BE i dodać go do szczyt:
źródło
attributes["Main-Class"]
Odpowiadam tutaj na własne pytanie, aby rozwiązanie nie zostało zakopane w komentarzach. Wyeksportowałem projekt jako działający plik jar z poziomu zaćmienia i wykonałem polecenie "java -jar MyJar.jar" i działa doskonale
źródło
Spróbuj zaktualizować wersję Eclipse, problem został niedawno zamknięty (12.03.2013). Sprawdź raport o błędzie https://bugs.eclipse.org/bugs/show_bug.cgi?id=327193
źródło
Nie dotyczy to specjalnie zaćmienia, ale sposobem obejścia tego problemu było utworzenie symbolicznego łącza do mojego repozytorium Maven i wskazanie go na coś takiego jak „C: \ R”. Następnie dodałem do mojego pliku settings.xml:
Ścieżka repozytorium maven przyczyniała się do problemów z długością na moim komputerze z systemem Windows.
źródło
W intellij jest opcja `` skracania wiersza poleceń '', wybierając `` manifest JAR '' lub `` @argFiles '' rozwiązałoby problem, w zasadzie umieści twoją długą ścieżkę klasy w pliku jar lub pliku tymczasowym
źródło
Pytanie jest stare, ale nadal aktualne. Często spotykam się z taką sytuacją, gdy do mojego zespołu dołącza nowy członek lub nowy segment kodu jest dodawany do istniejącego kodu. Prostym obejściem, które stosujemy, jest „Zmniejszenie ścieżki klas” przez przesunięcie katalogów w górę.
Jak wspomniano w pytaniu, nie jest to specyficzne dla zaćmienia. Trafiłem na ten problem również w IntelliJ Idea 14 i 2018.
Po długich poszukiwaniach stwierdziłem, że rozwiązaniem jest ustawienie
w javc pliku kompilacji Ant.
Tak wygląda teraz moja kompilacja mrówek javac. Aby dowiedzieć się więcej na temat forka, zapoznaj się z dokumentacją ant.
źródło
W raporcie o błędzie Bug 327193 jest uważany za naprawiony, ale ostatnio zdarzyło mi się to w przypadku Eclipse Kepler 4.3.2.
Pobierz poprawkę dla Eclipse Juno lub nowszą:
https://bugs.eclipse.org/bugs/attachment.cgi?id=216593
źródło
Spróbuj tego:
źródło
Aby to rozwiązać:
Jeśli używasz Eclipse:
Przenieś repozytorium .m2 do
c: \ Idź do Eclipse> Windows / Preferences / Maven / User Settings -> Stwórz swój własny plik setting.xml z jego zawartością:
Jeśli używasz IntelliJ: Idź do IntelliJ> kliknij prawym przyciskiem myszy na "pom.xml"> maven> utwórz "settings.xml"
z jego zawartością:
źródło
Mam ten sam błąd podczas wywoływania Mavena.
Główną przyczyną mojego problemu był plik
classpath
była bardzo duża. Aktualizacja ścieżki klas rozwiązała problem.Jak wspomniano w tym artykule, istnieje wiele sposobów aktualizowania dużej ścieżki klas: Jak ustawić długą ścieżkę klas Java w systemie Windows?
Ponieważ używam Intellij, zapewniają one opcję użycia pliku argumentów, którego użyłem.
źródło
Updating the classpath
- w jaki sposób?Spróbuj dodać to w
gradle version 4.10.x
pliku build.gradle ( ) i sprawdź, czycom.xxx.MainClass
jest to klasa, w której znajduje się twoja główna metoda:Powyższa zmiana musi rozwiązać problem, jest inny sposób, aby użyć
run.sh
poniższego skryptu, aby rozwiązać ten problem, ale będzie to bardziej naprawa wiersza poleceń, a nie IntelliJ do uruchomieniagradle bootRun
.źródło
dzieje się tak, ponieważ DataNucleus czasami nadpisuje Argumenty wieloma ścieżkami.
Musisz je nadpisać tym:
-enhancerName ASM -api JDO -pu MediaToGo
Mam nadzieję, że ci pomogę!
źródło
Prawidłowa odpowiedź z tego wątku była właściwą odpowiedzią w moim szczególnym przypadku. Określ ścieżkę folderu ORM dla jądra danych z pewnością zredukuj kompilację ścieżki java.
https://stackoverflow.com/a/1219427/1469481
źródło
Pojawił się poniższy błąd, gdy uruchamiam „ Ant deploy ”
Naprawiono go, uruchamiając przed nim polecenie „ ant clean ”.
źródło
Ten sam błąd wystąpił w Android Studio. Udało mi się to rozwiązać, uruchamiając Build -> Clean Project w IDE.
źródło
Dzieje się tak z powodu długiej nazwy katalogu projektu, która daje w
CLASSPATH
sumie bardzo długą nazwę . Albo musisz zmniejszyć liczbę dodanych plików JARCLASSPATH
(pamiętaj, aby usunąć tylko niepotrzebne pliki JAR) lub najlepszym sposobem jest zmniejszenie katalogu projektu i ponowne zaimportowanie projektu. Zmniejszy toCLASSPATH
. U mnie to zadziałało.źródło
Miałem ten sam problem, ale zamiast tego korzystałem z netbeanów.
Znalazłem rozwiązanie, więc udostępniam tutaj, ponieważ nigdzie tego nie znalazłem, więc jeśli masz ten problem w sieciach sieciowych, wypróbuj to:
(nazwy mogą być wyłączone, ponieważ moje netbeans są w języku portugalskim) Projekt kliknij prawym przyciskiem myszy> właściwości > build> compiling> Odznacz opcję uruchom kompilację na zewnętrznej maszynie wirtualnej.
źródło
Mam ten sam błąd. Wypróbowane rozwiązania, takie jak czyszczenie, odbudowa, unieważnienie pamięci podręcznej, ponowne uruchomienie itp., Ale nic nie działa.
Właśnie utworzyłem nowy folder o krótkiej nazwie i skopiowałem wszystkie pliki (folder aplikacji, pliki Gradle itp.) Do nowego folderu. Otwarta aplikacja w Android Studio i działa poprawnie.
źródło
W moim przypadku błąd był wyświetlany, ponieważ wersja systemu java różniła się od wersji java intellijj / eclipse. System i użytkownik mieli różne wersje java. Jeśli skompilujesz swój kod przy użyciu jednej wersji i spróbujesz uruchomić go przy użyciu innej wersji, wystąpi błąd.
Krótko mówiąc, upewnij się, że Twój kod jest skompilowany i uruchamiany w tej samej wersji Java.
źródło
Dodaj poniżej do swojego pliku gradle:
wtyczki {`id" com.github.ManifestClasspath "wersja" 0.1.0-RELEASE "
}
Zobacz https://plugins.gradle.org/plugin/com.github.ManifestClasspath
źródło
Aby naprawić ten poniższy błąd, przeprowadziłem wystarczająco dużo badań, nie znalazłem żadnego świetnego rozwiązania, przygotowałem ten skrypt i działa dobrze, pomyślałem, aby udostępnić go publicznie i wykorzystać i zaoszczędzić czas.
Jeśli używasz narzędzia do budowania Gradle, a plik wykonywalny jest umieszczony w katalogu build / libs aplikacji.
run.sh
-> utwórz ten plik w katalogu głównym projektu i skopiuj do niego poniższy skrypt, a następnie przejdź do git bash i wpisz run.sh, a następnie wprowadź. Mam nadzieję że to pomoże!#!/bin/bash dir_name=`pwd` if [ $# == 1 ] && [ $1 == "debug" ] then port=$RANDOM quit=0 echo "Finding free port for debugging" while [ "$quit" -ne 1 ]; do netstat -anp | grep $port >> /dev/null if [ $? -gt 0 ]; then quit=1 else port=`expr $port + 1` fi done echo "Starting in Debug Mode on "$port gradle clean bootjar jar_name="build/libs/"`ls -l ./build/libs/|grep jar|grep -v grep|awk '{print $NF}'` #java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=$port $jar_name elif [ $# == 1 ] && [ $1 == 'help' ] then echo "please use this commands" echo "------------------------" echo "Start in Debug Mode: sh run.sh debug" echo "Start in Run Mode: sh run.sh" echo "------------------------" else gradle clean bootjar word_count=`ls -l ./build/libs/|grep jar|grep -v grep|wc -w` jar_name=`ls -l ./build/libs/|grep jar|grep -v grep|awk '{print $NF}'`
jar_path=build/libs/$jar_name echo $jar_name #java -jar $jar_path fi
Mam nadzieję że to pomoże!!
źródło
Używam starszej wersji wtyczek Gradle i to wtyczka rozwiązała problem.
Użycie (sprawdź źródło, aby uzyskać więcej informacji):
źródło
Na komputerze z systemem Windows istnieje ograniczenie nazwy pliku jar / długości ścieżki w linii poleceń, przez co pojawia się poniższy komunikat o błędzie, próbowałem dużo szukać, nawet próbowałem zastosować powyższe rozwiązanie, z jakiegoś powodu, to nie zadziałało, znalazłem działający fragment kodu dla Gradle (gradle-4.10.2-all.zip)
Błąd:
CreateProcess error=206, The filename or extension is too long
Użyj poniższego
gradle.build
fragmentu kodu, aby naprawić powyższy problem w IntelliJ lub STS lub zaćmienić cokolwiek.Poprawka kodu Gradle:
źródło
Ile osób jest smutnych powyżej, jest wiele wtyczek do stopniowania wykonania obejścia w tym problemie, takich jak:
lub
Ale lepszym rozwiązaniem, które znalazłem, było zabicie procesu JVM i wszystko jest gotowe.
źródło