Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: zemla 26. 09. 2018, 15:47:39
-
Dobrý den,
pomohl by mi prosím někdo pochopit popř objasnit, proč import v předmětu mi compiler nevezme a zahlásí "package not found" ?
Trošku jsem surfoval a někde jsem se dočetl, že docházelo k přesunu knihoven od sun do "jdk.unsupported" - zkoušel jsem do "module-info.java" přidat "requires jdk.unsupported" - nepomohlo.
Bylo to myslím tady, ale mně to nepomohlo.
https://stackoverflow.com/questions/42538750/unable-to-export-a-package-from-java-base-module (https://stackoverflow.com/questions/42538750/unable-to-export-a-package-from-java-base-module)
Funguje to, prosím, někomu z vás ?
-
Třídy v balíčku sun (a dalších) byly určené jen jako interní implementace a neměly se přímo používat v aplikacích. A zrovna v tomhle případě není žádný důvod, proč tu třídu používat, když máte k dispozici veřejnou třídu java.net.HttpURLConnection.
-
Důvod, proč jsem variantu od sunu chtěl použít bylo, že třída umožňovala implicitně použít kredence uživatele, který je zrovna přihlášen. Jde to udělat jinak? V CSharpu je to CredentialsCache.DefaultCredentials.
Díky
-
Pokud myslíte aktuálně přihlášeného uživatele ve Windows, to asi standardní knihovna podporovat nebude, ta je multiplatformní. Navíc HttpURLConnection poskytuje jen základní funkcionalitu (i když v posledních verzích se to zlepšilo), radši používám specializované knihovny pro HTTP komunikaci, např. Apache HTTP Components (http://hc.apache.org/) nebo Jetty HTTP Client (https://www.eclipse.org/jetty/documentation/current/http-client.html). Apache HttpClient podporuje NTLM autentizaci (http://hc.apache.org/httpcomponents-client-4.5.x/ntlm.html) a existuje postup (http://hc.apache.org/httpcomponents-client-4.5.x/tutorial/html/authentication.html#d5e825), jak použít ticket aktuálně přihlášeného uživatele.
-
V podstatatě přesně toto jsem hledal. Jenom nerozumím tomu, když do POMu přidám org.apache.httpcomponents (použil jsem verzi 4.5), kde je jako example použitý ClientWinAuth (default credentials), jako je zde:
http://hc.apache.org/httpcomponents-client-4.5.x/httpclient-win/examples/org/apache/http/examples/client/win/ClientWinAuth.java (http://hc.apache.org/httpcomponents-client-4.5.x/httpclient-win/examples/org/apache/http/examples/client/win/ClientWinAuth.java)
proč mi to říká, že nezná, org.apache.http.impl.client.WinHttpClients ?
Budu googlit, ale pokud to víte z hlavy, budete možná rychlejší.
Doposud i nyní děkuji.
-
Tak jsem zjistil, že se jedná o sepárátní závislost:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient-win</artifactId>
<version>4.5</version>
</dependency>
Moc jste mi pomohl, děkuju.
-
Přesně tak. Jinak aktuální verze obou knihoven je 4.5.6, oproti verzi 4.5 tam budou nějaké opravené chyby, doporučuju použít poslední verzi.