Wątek przeniesiony 2022-10-20 10:29 z Java przez Riddle.

Ścieżka "/package" nie może być zareprezentowana jako URI

0

Próbuję odpalić programik, który był kiedyś robiony na zamówienie (ja go zleciłem), działał.
Teraz chcę znów z niego skorzystać i nie mogę.

Mam w instrukcji:

1. c:\scala\bin\scalac O:\gg.scala

2. c:\scala\bin\scala -classpath . com.leo.statgg.Main O:\kontakty.txt > out.txt

I tak robię. Jak jednak wykonuję polecenie nr 2 mimo istnienia oczywiście plików na dysku: O:\ dostaję:

C:\>c:\scala\bin\scala -classpath . com.leo.statgg.Main O:\kontakty.txt > out.tx
t
Exception in thread "main" java.io.IOError: java.lang.RuntimeException: /package
s cannot be represented as URI
        at java.base/jdk.internal.jrtfs.JrtPath.toUri(JrtPath.java:175)
        at scala.tools.nsc.classpath.JrtClassPath.asURLs(DirectoryClassPath.scal
a:213)
        at scala.tools.nsc.classpath.AggregateClassPath.$anonfun$asURLs$1(Aggreg
ateClassPath.scala:64)
        at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.s
cala:244)
        at scala.collection.Iterator.foreach(Iterator.scala:941)
        at scala.collection.Iterator.foreach$(Iterator.scala:941)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1429)
        at scala.collection.IterableLike.foreach(IterableLike.scala:74)
        at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
        at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
        at scala.collection.TraversableLike.flatMap(TraversableLike.scala:244)
        at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:241)
        at scala.collection.AbstractTraversable.flatMap(Traversable.scala:108)
        at scala.tools.nsc.classpath.AggregateClassPath.asURLs(AggregateClassPat
h.scala:64)
        at scala.tools.util.PathResolver.resultAsURLs(PathResolver.scala:297)
        at scala.tools.nsc.GenericRunnerSettings.classpathURLs$lzycompute(Generi
cRunnerSettings.scala:19)
        at scala.tools.nsc.GenericRunnerSettings.classpathURLs(GenericRunnerSett
ings.scala:19)
        at scala.tools.nsc.GenericRunnerCommand.guessHowToRun(GenericRunnerComma
nd.scala:43)
        at scala.tools.nsc.GenericRunnerCommand.<init>(GenericRunnerCommand.scal
a:62)
        at scala.tools.nsc.GenericRunnerCommand.<init>(GenericRunnerCommand.scal
a:25)
        at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:49)

        at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:108)
        at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
Caused by: java.lang.RuntimeException: /packages cannot be represented as URI
        ... 23 more

C:\>

O co mu chodzi?...
Plik gg.scala się w ogóle nie zmienił. Ma oryginalną datę modyfikacji z 2019 r. Nawet przywróciłem go z kopii i to samo...

1

Ale pewnie na innej wersji Scali odpalasz niż kiedyś.

Pierwszy wynik z google dla stacktrace.

https://github.com/sbt/sbt/issues/5093

0

Nie aktualizowałem tej Scali....

Przejrzałem ten wątek. I nie wiem co mam zrobić. Nie znam Scali/Javy. Nic takiego.

2

to może wersję javy masz nowszą niż kiedyś? wypróbuj javę 8 i javę 11.

0

Odinstalowałem Jave 13 . Po coś instalowałem. Zostawiłem tylko 7 i 8 bo te miałem w 2018 r. instalowane.
A tą nową w wakacje 2022 r.

I teraz mam:

C:\>c:\scala\bin\scala -classpath . com.leo.statgg.Main O:\kontakty.txt > out.tx
t
Nazwa '"java"' nie jest rozpoznawana jako polecenie wewnętrzne lub zewnętrzne,
program wykonywalny lub plik wsadowy.

Od razu mi napiszecie o Path..... Tylko, że PATH jest już zajęty przez GitHub.
I co teraz?

2

Możesz w Path umieścić więcej niż jedną sciezke... Rozdzielasz je średnikiem

3

dorzuć do path ścieżkę do javy 8

albo odinstaluj javę 8 i ponownie ją zainstaluj :) może będzie prościej :p instalator powinien sam zmienić path i inne zmienne środowiskowe

0

C:\Users\admin\AppData\Local\GitHubDesktop\bin;C:\Users\admin\AppData\Local\Programs\Microsoft VS Code\bin;%IntelliJ IDEA%;C:\Users\admin\AppData\Roaming\Composer\vendor\bin;%USERPROFILE%\.dotnet\tools;C:\Program Files\Java\jdk1.8.0_191\bin

W path teraz. i nie działa ten sam błąd

0

a jak spróbujesz odpalić C:\Program Files\Java\jdk1.8.0_191\bin\java.exe to co się stanie? w sensie czy da się takie coś odpalić prosto z linii poleceń?

no i zwykłe polecenie java (w terminalu) też ma działać po takiej modyfikacji path co zrobiłeś.

0

Musi być z "C:\ścieżka do PATH"
bo bez cudzysłowa nie działa

screenshot-20221018215126.png

1

bo bez cudzysłowa nie działa

a fakt, w linii poleceń tak
a jak odpalisz samo java -version w linii poleceń? ma działać jeśli ustawiłeś zmienną path poprawnie.

1

Już chyba działa bo parę minut nie wywala komunikatu o błędzie, znaczy więc, że zaczął realizować skrypt. Dzięki

screenshot-20221018215920.png

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