# Za duzo javy w javie

## karaluch

Witam, ostatnio kompilowalem openoffica ze zrodel, pamietam ze kompilator doinstalowal jakas jave ale jak sie okazalo (zwrocilem na to uwage po kilku dniach) mam duzo za duzo maszyn java w systemie.

```
# java-config -V

Java Configuration Utility Version 2.1.4

# java-config -L

The following VMs are available for generation-2:

1)      Sun JDK 1.5.0.13 [sun-jdk-1.5]

*)      Sun JDK 1.6.0.03 [sun-jdk-1.6]

# emerge -av jdk

[ebuild   R   ] virtual/jdk-1.6.0  0 kB

# emerge -s jdk

*  dev-java/sun-jdk

      Latest version available: 1.6.0.03

      Latest version installed: 1.6.0.03

      Size of files: 127,728 kB

      Homepage:      http://java.sun.com/javase/6/

      Description:   Sun's J2SE Development Kit, version 1.6.0.03

      License:       dlj-1.1

*  virtual/jdk

      Latest version available: 1.6.0

      Latest version installed: 1.6.0

      Size of files: 0 kB

      Homepage:      http://java.sun.com/

      Description:   Virtual for JDK

      License:       as-is
```

I teraz pytanie czego tak na prawde potrzebuje i jak sie pozbyc tego niepotrzebnego. Dodam, ze emerge --depclean i revdep-rebuild nic nie pomogly.

----------

## Arfrever

"virtual/jdk" jest pakietem wirtualnym i jest potrzebny.

Pokaż wynik:

```
eix "^(sun-|)jdk$"
```

----------

## wodzik

```
*  virtual/jdk

      Latest version available: 1.6.0

      Latest version installed: 1.6.0

      Size of files: 0 kB 
```

proponuje zwrocic uwage na  Size of files: 0 kB, czyli nie_dosc, ze jest potrzebna, to nie zajmuje za duzo miejsca w systemie

Arfrever: Ortografia

----------

## karaluch

T ow takim razie co z VM sun-jdk-1.5, dlaczego 1.6 nie nadpisalo tej staszej wersji i dlaczego obydwie siedza w systemie ?

```
# eix "^(sun-|)jdk$"

[I] dev-java/sun-jdk

     Available versions:

        (1.4)   1.4.2.16!f 1.4.2.17!f

        (1.5)   1.5.0.13 ~1.5.0.14

        (1.6)   1.6.0.03 ~1.6.0.04

        {X alsa doc examples jce nsplugin odbc}

     Installed versions:  1.5.0.13(1.5)(03:15:46 4 III 2008)(X alsa -doc -examples -jce -nsplugin -odbc)

                          1.6.0.03(1.6)(14:27:42 6 III 2008)(X alsa -doc -examples -jce -nsplugin -odbc)

     Homepage:            http://java.sun.com/javase/6/

     Description:         Sun's J2SE Development Kit, version 1.6.0.04

[I] virtual/jdk

     Available versions:

        (1.4)   1.4.1 1.4.2

        (1.5)   1.5.0

        (1.6)   1.6.0

     Installed versions:  1.5.0(1.5)(04:01:47 4 III 2008) 1.6.0(1.6)(12:48:33 6 III 2008)

     Homepage:            http://java.sun.com/

     Description:         Virtual for JDK

Found 2 matches.
```

Czy to taka sama sytuacja jak z kernelem - musze stare wersje usuwac z przelacznikiem "emerge -P <nazwa>"Last edited by karaluch on Sun Mar 09, 2008 12:59 pm; edited 1 time in total

----------

## canis_lupus

Bo czasami jest potrzebna starsza wersja?

----------

## karaluch

Wlasnie o taka odpowiedz mi chodzilo ... :)

A tak sero to interesuje mnie fakt czy faktycznie cos uzywa jeszcze 1.5, chcialbym tez moc sprawdzic co i czy nie moze uzywac juz tylko 1.6 czy tez faktycznie musza byc 2 VM Javy. Oczywiscie moge trzymac je obydnie ale jak wiadkomo idea gentoo jest zbudowanie systemu idealnie odpowiedajacego potrzeba usera a nie posiadajacego wszystko (tak jak w pozostalych distro). Zgodnie z tym zbedne 130mb staram sie wywali no chyba ze nie jest do konca zbedne ...

----------

## no4b

Pakiety przygotowane pod javę 1.5 powinny uruchomić się pod 1.6 bez problemu, ale mogą się na niej nie kompilować, dlatego potrzebna jest 1.5.

----------

## unK

Mi openoffice wciągał javę 1.5, chociaż miałem już w wersji 1.6.

----------

## one_and_only

 *karaluch wrote:*   

> 
> 
> A tak sero to interesuje mnie fakt czy faktycznie cos uzywa jeszcze 1.5, chcialbym tez moc sprawdzic co i czy nie moze uzywac juz tylko 1.6 czy tez faktycznie musza byc 2 VM Javy

 

Może takie coś?

```
equery depends virtual/jdk
```

Jeśli u mnie jako wynik otrzymuję:

```
[ Searching for packages depending on virtual/jdk... ]

app-misc/strigi-0.5.7 (java? >=virtual/jdk-1.4)

dev-lang/swig-1.3.33 (java? virtual/jdk)

dev-libs/cyrus-sasl-2.1.22-r2 (java? >=virtual/jdk-1.4)

dev-tex/tex4ht-20080125_p0949 (java? >=virtual/jdk-1.5)

dev-util/subversion-1.6_pre29410 (java? >=virtual/jdk-1.4)

media-libs/pdflib-7.0.2 (java? >=virtual/jdk-1.4)

net-dns/libidn-1.0-r1 (java? >=virtual/jdk-1.4)

net-libs/xulrunner-1.8.1.12 (java? >=virtual/jdk-1.4)

net-misc/mDNSResponder-107.6-r5 (java? >=virtual/jdk-1.4)

sys-libs/db-4.5.20_p2 (java? >=virtual/jdk-1.4)

virtual/jre-1.6.0 (=virtual/jdk-1.6.0*)

```

To znaczy, że spokojnie mogę się pozbyć jdk-1.4, który mam w systemie, jeśli posiadam również wersję 1.6? Musiałbym zaś go zostawić w przypadku zależności w stylu =virtual/jdk-1.4*?

----------

## 13Homer

Ja takie problemy rozstrzygam w ten sposób, że usuwam to, co uważam za niepotrzebne, a później emerge -DuNav world i poprawka przez revdep-rebuild. Jak się okaże, że jednak było potrzebne, to się zainstaluje. Akurat sun-jdk instaluje się raptem parę minut, więc mocno to nie boli.

----------

## karaluch

```
# emerge -vP dev-java/sun-jdk

Calculating dependencies... done!

  dev-java/sun-jdk-1.5.0.13 pulled in by:

    app-office/openoffice-2.3.1-r1

    virtual/jdk-1.5.0

  dev-java/sun-jdk-1.6.0.03 pulled in by:

    app-office/openoffice-2.3.1-r1

    dev-java/ant-core-1.7.0

    dev-java/antlr-2.7.7

    dev-java/bcel-5.2

    dev-java/bsh-2.0_beta4-r3

    dev-java/gjdoc-0.7.8

    dev-java/javacup-0.10k-r1

    dev-java/libreadline-java-0.8.0-r2

    dev-java/servletapi-2.4-r5

    dev-java/xalan-2.7.0-r5

    dev-java/xalan-serializer-2.7.0

    dev-java/xerces-2.9.1

    dev-java/xjavac-20041208-r5

    dev-java/xml-commons-external-1.3.04

    dev-java/xml-commons-resolver-1.2

    dev-lang/swig-1.3.31

    dev-libs/cyrus-sasl-2.1.22-r2

    kde-base/konqueror-3.5.8

    net-dns/libidn-1.0-r1

    net-misc/mDNSResponder-107.6-r5

    net-print/cups-1.3.6-r1

    sys-libs/db-4.3.29-r2

    sys-libs/db-4.5.20_p2

    virtual/jdk-1.6.0

    virtual/jre-1.6.0

    www-client/mozilla-firefox-2.0.0.12

>>> No packages selected for removal by prune

>>> To ignore dependencies, use --nodeps

 * GNU info directory index is up-to-date.
```

Wlasnie zastanawiam sie nad tym "--nodeps" czy 1.6 mi nie wywali

----------

## Arfrever

 *karaluch wrote:*   

> Wlasnie zastanawiam sie nad tym "--nodeps" czy 1.6 mi nie wywali

 

Wtedy zostałyby usunięte wszystkie wersje starsze od najnowszej zainstalowanej.

----------

## karaluch

Do czasu kompilacji openofficea pozbylem sie jdk-1.5 

```
emerge -P dev-java/sun-jdk
```

Jak ktos juz napisal, jak bedzie potrzebne to sie doinstaluje, a moze nowy ooo-2.4 bedzie kompilowany z jdk-1.6 :)

----------

## karaluch

Zmienialem GCC i przekompilowalem sys i znowu przypomniala mi sie java. Mialem jdk-1.6, ooo doinstalowal sobie ponoDo tego doinstalowalem jeszcze eclipse, ktore chcialo jdk1.4. Do tego wszystkiego zachcialo mi sie jeszcze jre-1.6. Po tym wszystkim mam 4 maszyny javy + 4 virtualne maszyny javy. Wydaje mi sie ze to troche duzo jak na jedna stacje. 

```
eix "^(sun-|)jdk$"

[I] dev-java/sun-jdk

     Available versions:

        (1.4)   1.4.2.16!f 1.4.2.17!f

        (1.5)   1.5.0.13 ~1.5.0.14

        (1.6)   1.6.0.03 ~1.6.0.04

        {X alsa doc examples jce nsplugin odbc}

     Installed versions:  1.4.2.17(1.4)!f(19:28:28 18 III 2008)(X alsa -doc -examples -jce -nsplugin -odbc)

                          1.5.0.13(1.5)(19:27:57 18 III 2008)(X alsa -doc -examples -jce -nsplugin -odbc)

                          1.6.0.03(1.6)(19:01:50 18 III 2008)(X alsa -doc -examples -jce -nsplugin -odbc)

     Homepage:            http://java.sun.com/javase/6/

     Description:         Sun's J2SE Development Kit, version 1.6.0.04

[I] virtual/jdk

     Available versions:

        (1.4)   1.4.1 1.4.2

        (1.5)   1.5.0

        (1.6)   1.6.0

     Installed versions:  1.4.2(1.4)(16:56:26 18 III 2008) 1.5.0(1.5)(16:55:41 18 III 2008) 1.6.0(1.6)(16:49:20 18 III 2008)

     Homepage:            http://java.sun.com/

     Description:         Virtual for JDK
```

Zastanawiam sie czy mozna jakos podlinkowac virtualna maszyne do innej maszyny javy, tak aby wszystkie virtuale odnosily sie do najnowszej wersji - tak jak robi sie z bibliotekami!?

----------

## one_and_only

 *karaluch wrote:*   

> Do tego wszystkiego zachcialo mi sie jeszcze jre-1.6. Po tym wszystkim mam 4 maszyny javy + 4 virtualne maszyny javy

 

Ja tam widzę 3 maszyny javy. Te viruale nie są wcale maszynami javy tylko wiadomością dla innych pakietów z portage, że java w danej wersji występuje w systemie. Istnieje ona bowiem w nie tylko w wersji dostarczanej przez Suna ale i np. przez IBM czy Blackdown. W pakietach wymagających javy wpisana jest zależność od virtuala w konkretnej wersji (1.4 1.5 1.6) a nie producenta co zostawia użytkownikowi możliwość wyboru implementacji.

virtual/jdk-1.4.1 wydaje się być pozostałością po jakiejś starej javie w systemie, ew. masz jeszcze jakąś nie od Suna. Jeśli chcesz się pozbyć javy 1.4 to eclipse w wersjach >3.3 wymaga javy 1.5 a nie 1.4 co przy okazji wiąże się ze sporą poprawą wydajności.

----------

## karaluch

```
eix "^(sun-|)jre$"

[I] virtual/jre

     Available versions:

        (1.4)   1.4.1 1.4.2

        (1.5)   1.5.0

        (1.6)   1.6.0

     Installed versions:  1.6.0(1.6)(16:49:26 18 III 2008)

     Homepage:            http://java.sun.com/

     Description:         Virtual for JRE
```

Liczylem 4 maszyny biarac pod uwage jeszcze jre, zoraz zobacze to nowe eclipse, a co do jdk1.4 to wlasnie eclipse je chcialo i musialem sciagac tgz-tke do "distfajsow" bo nawet w portage juz nie bylo :)

----------

## one_and_only

JRE zawiera się w JDK, jak chcesz zamo JRE to instaluj JRE.

----------

## karaluch

Potrzebuje JRE i JDK ale bez instalacji JRE konqueror i firefox nie widzialy javy w systemie !

----------

## one_and_only

 *karaluch wrote:*   

> co do jdk1.4 to wlasnie eclipse je chcialo i musialem sciagac tgz-tke do "distfajsow" bo nawet w portage juz nie bylo 

 

Nie tyle nie ma go w portage co licencja na to nie pozwala - stąd konieczność manualnego ściągania powiązanego z kliknięciem odpowiedniego accept na stronie suna.

 *karaluch wrote:*   

> Potrzebuje JRE i JDK ale bez instalacji JRE konqueror i firefox nie widzialy javy w systemie !

 

Ja tam mam tylko JDK z USE="nsplugin" i java działa mi we wszystkich przeglądarkach (w tym firefoksie i konquerorze). Oczywiście virtual/jre też mam, ale, jak sama nazwa wskazuje, to tylko virtual  :Smile: 

----------

