PDA

Arkistonäkymässä ei tällä hetkellä lainaus erotu varsinaisesta viestistä. Suosittelemme että vilkaisette ns. täydellistä versiota: : FinFamilyn kääntäminen Linuxissa


ilkant
28.12.15, 20:38
FinFamilyn kääntäminen Linuxissa näköjään onnistuu hyvin ihan konsolissa. Ainakin Ubuntussa. Tarvitaan oikeastaan vain yhden tiedoston fiksaus ja toisen tiedoston kopiointi. Et tarvitse mitään Eclipseä, etkä muitakaan kehitysohjelmia paitsi java ant- yms. herkuilla. Ja toimii OpenJDK:n versiolla 7. Tämä ohjeen kokeileminen on sitten sinun omalla vastuulla. Minun koneellani se toimi.

Pikaohjeet:

1. Jos sinulla ei ole svn:ää, niin

%sudo apt-get install subversion

2. Luo jokin väliaikainen tai pysyvämpi hakemisto FinFamilyn kääntämiselle
ja mene hakemistoon.

3. Lataa svn:llä SourceForgesta FinFamilyn koodit:

svn checkout svn://svn.code.sf.net/p/finfamily/code/trunk finfamily-code
(tämä komento löytyy myös SourceForgesta)

4. Editoi buildit.bat Linuxille sopivaksi esim. buildit2.sh ja editoi se tällaiseksi

set JAVA_HOME="/home/tunnuksesi/pimpom/finfamily-code"
/usr/bin/ant

5. Sitten vaan siinä hakemistossa sh buildit2.sh

*****

5b. Jos käännös valittaa puuttuvasta suku.sh tiedostosta, vie FinFamilyn
hakemistosta (se, johon olet FinFamilyn asentanut) se hakemistoon

.../launch4j/suku.sh

5c. Uusi kääntäminen sh buildit2.sh

*****

6. Kopioi syntynyt suku.jar sinne FinFamilyn asennushakemistoon

cp dist/suku.jar ~/munJavaOhjelmat/FinFamily/suku.jar

7. Käynnistä FinFamily kuten aiemminkin!


Tällä tavalla voit käyttää FinFamilyn snapshottia eli uusimpia ominaisuuksia heti, mitä ilmestyy ohjelman kehitysversioon. Joka kerta haet svn:llä uudet koodit koneellesi.

Mika Halonen
28.12.15, 21:55
Moi,

set JAVA_HOME:lla kerrotaan mistä Java löytyy. Ei mistä koodit löytyy.
Voi olla että linuxilla tuota riviä ei tarvita vaan riittää että tiedostossa on kerrottu ant ohjelmiston sijainti.

Käytännössä tuohon ei tarvita edes mitään buildit.sh tiedostoa vaan riittää että käynnistät ant ohjelmiston ko hakemistossa.
Se osaa sitten käyttää hyväkseen build.xml tiedostoa suoraan minkä mukaan käännös ja paketointi suoritetaan.

T: Mika

ilkant
29.12.15, 01:40
Käytännössä tuohon ei tarvita edes mitään buildit.sh tiedostoa vaan riittää että käynnistät ant ohjelmiston ko hakemistossa.
Se osaa sitten käyttää hyväkseen build.xml tiedostoa suoraan minkä mukaan käännös ja paketointi suoritetaan.


Totta. Se kääntyi yhdellä taikasanalla ant. :)

ilkant
29.12.15, 01:44
Tuo konsolikääntäminen säästi minulta nyt oikeastaan kokonaisen käyttöjärjestelmän päivitysoperaation, joka aika usein päätyy asennukseen puhtaalta pöydältä. Iso varmuuskopiointiurakka siinä! Nimittäin minun ei tarvitse hankkia uudempaa JDK:ta tähän koneeseen. Graafinen ohjelmankehitysympäristö olisi tarvinnut uudemman version.

ilkant
29.12.15, 02:00
Tuo kohdan 6. lause pitääkin vaihtaa:

cp dist/suku.jar ~/munJavaOhjelmat/FinFamily/suku.jar

vaihdetaan se lauseeseen

cp * ~/munJavaOhjelmat/FinFamily

sillä kirjastoihin ja muihinkin tiedostoihin saattaa uudessa versiossa olla muutoksia. Nyt jos olet lisäillyt itse esim. paikkakuntien sijainteja tiedostoon PlaceLocations.xls, sinun pitäisi muokata muutokset uuteenkin tiedostoon.

Jos muutokset ovat yleishyödyllisiä, lähetä ne ohjelman tekijälle, niin toisetkin hyötyvät niistä.

ilkant
30.12.15, 07:47
Kopioin FinFamilyn alihakemistoineen kotihakemistostani komennolla cp -a hakemistoon /usr/local/finfamily. Vaihdoin suku.sh tiedoston käynnistyskomennon suku.jar absoluuttiseksi osoitteeksi, niin se käynnisti FinFamilyn. Mutta se ei löytänyt tietokantaa.

Alkuperäisen olin siirtänyt mv-komennolla toisennimiseksi, jotta ohjelma ei käynnistyisi vahingossakaan vanhasta osoitteesta. Palautin sitten mv:llä nimen takaisin entiseksi. Säväyttävä tunne kun ohjelma käynnistyi, mutta tietokantaa ei löytynyt. Ei edes pgadmin3-ohjelmalla (PostgreSQL:n hallintaohjelma).

Johti tutkimaan koodista kontroller-osia ja webstarttiakin ja vähän muutakin. Kunnes sitten jostain syystä kokeiltuani ohjelmaa, se löysikin tietokannan. Olisi minulla ollut varmuuskopiot, että vahinko ei olisi ollut kovin suuri.

Miksihän ohjelma ei löytänyt tietokantaa jarrin ollessa hakemistossa /usr/local/finfamily ?

Mika Halonen
30.12.15, 22:09
Se kanta on siellä PostgreSQL:ssä eikä se hyppää sieltä mihinkään hetkeksi. Eli pgadminilla se pitää löytyä sieltä aina. Vaikea arvailla että mitä on tapahtunut.

T. Mika